函数名也会出错???
/* 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没有包含任何头文件,即使在某处有函数同名,应该也不会发生冲突才对。
感谢