次の行の C ヘッダー ファイルでこのエラーが発生します。
char * getFechaHora(time_t & tiempoPuro);
C ソース コード ファイルでは、ヘッダー ファイルをインクルードし、関数に実装を与えています。
char * getFechaHora(time_t &tiempoPuro){...}
私のヘッダーファイルにも、「time.h」ライブラリが正しく含まれています。
char * getFechaHora(time_t & tiempoPuro);
これは C ではありません。C には参照がありません ( &
)。
C では、char * getFechaHora の場合、これが関数であり、2 つ (time_t と tiempoPuro) が引数であり、関数を次のように宣言する必要があります。
char * getFechaHora(*type* time_t, *type* tiempoPuro);
そうでなければ、2番目が変数の場合、次のように宣言します
char * getFechaHora(time_t *tiempoPuro);
問題は、&
シンボルの使用です。このような参照渡しは C ではサポートされていません。C でこれを行うには、次のように変数へのポインターを渡す必要があります。
char * getFechaHora(time_t * tiempoPuro);
技術的には、値渡し (ポインターの値を渡す) のままですが、同じことを達成します (関数tiempoPuro
に対してローカルな変数が指す値を変更すると、getFechaHora
関数に対してローカルな変数の値が変更されます)。から呼び出されます)。
参照: 参照 渡し