9

次の行の C ヘッダー ファイルでこのエラーが発生します。

char * getFechaHora(time_t & tiempoPuro);

C ソース コード ファイルでは、ヘッダー ファイルをインクルードし、関数に実装を与えています。

char * getFechaHora(time_t &tiempoPuro){...}

私のヘッダーファイルにも、「time.h」ライブラリが正しく含まれています。

4

3 に答える 3

22
char * getFechaHora(time_t & tiempoPuro);

これは C ではありません。C には参照がありません ( &)。

于 2012-10-15T21:13:24.577 に答える
6

C では、char * getFechaHora の場合、これが関数であり、2 つ (time_t と tiempoPuro) が引数であり、関数を次のように宣言する必要があります。

char * getFechaHora(*type* time_t, *type* tiempoPuro);

そうでなければ、2番目が変数の場合、次のように宣言します

char * getFechaHora(time_t *tiempoPuro);
于 2012-10-15T21:19:38.883 に答える
2

問題は、&シンボルの使用です。このような参照渡しは C ではサポートされていません。C でこれを行うには、次のように変数へのポインターを渡す必要があります。

    char * getFechaHora(time_t * tiempoPuro);

技術的には、値渡し (ポインターの値を渡す) のままですが、同じことを達成します (関数tiempoPuroに対してローカルな変数が指す値を変更すると、getFechaHora関数に対してローカルな変数の値が変更されます)。から呼び出されます)。

参照: 参照 渡し

于 2012-10-15T21:26:05.730 に答える