错误:在#define中'for'之前预期','或'...'

时间:2014-03-16 19:03:18

标签: c++ c compilation

我在#define中有一个错误,我想以这种方式定义一个循环:

#define loop                for (;;)

但是在编译时我得到了错误

util.h:39:29: error: expected ‘,’ or ‘...’ before ‘for’ #define loop for (;;)

知道为什么会这样吗?

2 个答案:

答案 0 :(得分:1)

我认为以下链接将为您完成工作.. http://www.cplusplus.com/forum/lounge/33524/

答案 1 :(得分:1)

您的问题中没有足够的信息来查找问题。问题可能是代码中的其他内容(可能是另一个#define)发生冲突。错误消息本身表示编译器在读取for令牌时认为它正在解析参数列表声明。

您需要发布一个小型,完整,独立的程序来演示此问题。


说真的,每个在C编程课程中发现#define的人都认为他们非常聪明,现在可以用它自己构建语言。在每种情况下,这都是一个非常糟糕的主意,因为它使代码更难以阅读而没有真正的好处。如果你需要一个无限循环,只需写出for(;;)并完成它。