【发布时间】:2017-10-12 08:49:43
【问题描述】:
我正在使用 C 的这个函数通过 getLine() 函数读取用户输入 (stdin)。此函数返回一个带有用户输入的 char*。这是片段:
char * rline(void)
{
char *line;
size_t buff = 0;
char * getLine(&line, &buff, stdin);
return line;
}
但是,当它运行时,会显示此错误并且无法编译。
error: expected declaration specifiers or '...' before '&' token
我环顾四周,但不太明白为什么会发生这种情况,我的语法是正确的还是逻辑错误?
【问题讨论】:
-
只需阅读如何在 C 中使用函数:programiz.com/c-programming/c-functions
-
@Abend 谢谢,但我对调用函数很熟悉,你认为我打算如何调用这个函数?
-
@DavidBowling 我没有使用 POSIX,但谢谢。我尝试了 getline() 和 getLine() 但都返回相同的错误:未定义的引用。
-
啊,我明白了——我在标题的顶部包含了#define _GNU_SOURCE,还尝试了#define _POSIX_C_SOURCE 200809L——两者仍然给我同样的错误(未定义的参考)
-
我想不通-我改变了我的方法以完全避免 getline。感谢您的帮助。
标签: c compiler-errors stdin getline