我在此行的C头文件中收到此错误:
char * getFechaHora(time_t & tiempoPuro);
在C源代码文件中,我包含头文件并为函数提供实现
char * getFechaHora(time_t &tiempoPuro){...}
同样在我的头文件中,我正确地包含了“time.h”库。
答案 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的值更改为调用它的函数。