feny911 2006年04月15日
函数名也会出错???
/* ttt.c */
char ttt(char);

char gettext(char);

char getext(char);

上面是完整的ttt.c源码。

$gcc -S ttt.c
ttt.c:4: error: nonnull argument references non-pointer operand (arg 1, operand 1)
ttt.c:4: error: nonnull argument references non-pointer operand (arg 1, operand 1)

谁能告诉我char gettext(char);这个声明有什么问题吗?

起因:
今天维护自己写的库。其中有一个char *getline()用于从stdio接受一个以'\n'结束的字符串。
基于通用性方面的考虑,改为char *gettext(char endch),接受一个以endch或EOF结束的字符串。之后问题就来了。
为了找出出错位置,写了上面的ttt.c,确认问题出在函数名上。

困扰我的问题是,gettext并不是保留字,应该说我的声明完全是合法的。同时ttt.c没有包含任何头文件,即使在某处有函数同名,应该也不会发生冲突才对。

感谢
...全文
385 点赞 收藏 17
写回复
17 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C语言
创建于2007-09-28

3.2w+

社区成员

24.0w+

社区内容

C语言相关问题讨论
社区公告
暂无公告