我在这一行的 C 头文件中收到此错误:
char * getFechaHora(time_t & tiempoPuro);
在 C 源代码文件中,我包含头文件并为函数提供实现
char * getFechaHora(time_t &tiempoPuro){...}
同样在我的头文件中,我正确地包含了“time.h”库。
char * getFechaHora(time_t & tiempoPuro);
这不是 C。C 没有引用 ( &
)。
在 C 语言中,如果 char * getFechaHora,这是您的函数,并且两个 (time_t & tiempoPuro) 是参数,您应该将函数声明为:
char * getFechaHora(*type* time_t, *type* tiempoPuro);
否则,如果第二个是变量,则声明为
char * getFechaHora(time_t *tiempoPuro);
问题是您对&
符号的使用。C 不支持以这种方式通过引用传递。要在 C 中完成此操作,您需要像这样传递指向变量的指针:
char * getFechaHora(time_t * tiempoPuro);
从技术上讲,您仍然是按值传递(传递指针的值),但它会完成相同的事情(修改函数tiempoPuro
本地变量指向的getFechaHora
值将更改函数本地变量的值调用自)。
参考: 按参考传递