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,这是您的函数,并且两个 (time_t & tiempoPuro) 是参数,您应该将函数声明为:

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

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

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 回答