错误:在'&'标记之前预期';',','或')'

时间:2012-10-15 21:12:19

标签: c gcc token

我在此行的C头文件中收到此错误:

char * getFechaHora(time_t & tiempoPuro);

在C源代码文件中,我包含头文件并为函数提供实现

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

同样在我的头文件中,我正确地包含了“time.h”库。

3 个答案:

答案 0 :(得分:18)

char * getFechaHora(time_t & tiempoPuro);

这不是C. C没有引用(&)。

答案 1 :(得分:6)

在C中,如果char * getFechaHora,这是你的函数,两个(time_t& tiempoPuro)是你应该声明函数的参数:

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

否则如果第二个是变量,则声明为

char * getFechaHora(time_t *tiempoPuro);

答案 2 :(得分:2)

问题是您使用&符号。 C中不支持以这种方式通过引用传递。要在C中完成此操作,您需要传入指向变量的指针,如下所示:

    char * getFechaHora(time_t * tiempoPuro);

从技术上讲,你仍然通过值传递(传递指针的值),但它将完成同样的事情(修改tiempoPuro函数本地的getFechaHora变量所指向的值会将变量local的值更改为调用它的函数。

参考:Pass by Reference