【发布时间】:2014-02-13 20:35:01
【问题描述】:
我正在尝试编译从教科书中逐字复制的程序,但出现以下错误:
maxline.c:4:5: error: conflicting types for ‘getline’
/usr/include/stdio.h:675:20: note: previous declaration of ‘getline’ was here
maxline.c:26:5: error: conflicting types for ‘getline’
/usr/include/stdio.h:675:20: note: previous declaration of ‘getline’ was here
以下是有问题的行:
4 int getline(char line[], int maxline);
26 int getline(char s[], int lim)
我错过了什么非常明显的事情吗?
【问题讨论】:
-
为什么第 4 行和第 26 行的参数使用不同的名称?这并不违法,但很奇怪。
-
请注意,您没有在
stdio.h中发布声明,这是真正的 冲突点。显然 your decl 和 implementation 都应该相互匹配。警告告诉您getline()已声明,并且与 your 代码(原型或定义)不匹配。查看 that decl(在 stdio.h,第 675 行)。 -
当我将“getline”的名称更改为“getln”时效果很好。非常感谢!
标签: c gcc compiler-errors