我得到這個錯誤在該線C頭文件:錯誤:預期「;」,「」或‘)’前‘和’令牌
char * getFechaHora(time_t & tiempoPuro);
在C源代碼文件我是包括頭文件並給函數一個實現
char * getFechaHora(time_t &tiempoPuro){...}
也在我的頭文件中,我包括正確的「time.h」庫。
我得到這個錯誤在該線C頭文件:錯誤:預期「;」,「」或‘)’前‘和’令牌
char * getFechaHora(time_t & tiempoPuro);
在C源代碼文件我是包括頭文件並給函數一個實現
char * getFechaHora(time_t &tiempoPuro){...}
也在我的頭文件中,我包括正確的「time.h」庫。
在C,如果字符* getFechaHora,這是你的功能和兩個(time_t的& tiempoPuro)的參數,你應該申報的功能:
char * getFechaHora(time_t, tiempoPuro);
否則,如果第二個是一個變量,聲明爲
char * getFechaHora(time_t *tiempoPuro);
char * getFechaHora(time_t & tiempoPuro);
這不是C. C沒有參考(&
)。
問題是您使用的&
符號。通過參考以這種方式通過不支持C.在C實現這一點,則需要在一個指針傳遞給變量,像這樣:
char * getFechaHora(time_t * tiempoPuro);
技術上,你還在按值傳遞(傳遞值),但它會完成相同的操作(修改函數的局部變量tiempoPuro
所指向的值將會將變量局部變量的值更改爲它所調用的函數)。
還是讓狀態這再次:'C/C++'不是一種語言。 – 2012-10-15 21:14:30
C僅通過值。如果要更改傳遞給函數的變量的值,則必須將指針傳遞給它。 –