在Linux平台上,使用名为CURSES的函数时会出现编译错误。如果我将名称更改为"my_curses“之类的其他内容,就不会再有错误了。
我知道有一个curses.h,但是我不知道任何名为CURSES的函数。在标准中是否已经存在一个名为CURSES的函数,或者在库中已经构建了一个函数?
原型: void CURSES(int x)
错误:“错误:数值常量之前的语法错误”
然后在函数声明中,我得到了一堆类似的错误,还有一堆带有“冲突类型”的错误。
发布于 2012-02-11 19:33:47
诅咒很可能是一种定义。所以你的选择是:
编辑: my includes上的一个简单的grep告诉我,curses.h和ncurses.h都有这一行
#define CURSES 1发布于 2012-02-11 19:34:28
Q:我可以在C中声明一个名为curses的函数吗?
答:当然可以。“咒骂()”和“咒骂()”都是法律名称。
Q:错误:“错误:数值常量之前的语法错误”
如果您在紧接错误行之前、之后和包括错误行之后粘贴代码,这将很有帮助。可能是很简单的事。也许你只是忘了原型之后的";“?
例子:
void CURSES(int x);此外:
1)完全有可能与其他不同的函数或#定义“诅咒”发生冲突。检查你的“包括”(或者把你的“包括”剪切/粘贴到你的帖子中)。
2)“诅咒”是一个法律功能名称.但这是个糟糕的选择。我只会用大写字母来定义宏(而不是函数名)。
例子:
#define MY_MACRO(x)
void my_function (int x);发布于 2012-02-11 19:30:36
编译器说这不是函数名,而是常量。
决定使用的是另一个名称。
https://stackoverflow.com/questions/9243349
复制相似问题