我在#define中有一个错误,我想以这种方式定义一个循环:
#define loop for (;;)
但是在编译时我得到了错误
util.h:39:29: error: expected ‘,’ or ‘...’ before ‘for’
#define loop for (;;)
知道为什么会这样吗?
答案 0 :(得分:1)
我认为以下链接将为您完成工作.. http://www.cplusplus.com/forum/lounge/33524/
答案 1 :(得分:1)
您的问题中没有足够的信息来查找问题。问题可能是代码中的其他内容(可能是另一个#define
)发生冲突。错误消息本身表示编译器在读取for
令牌时认为它正在解析参数列表声明。
您需要发布一个小型,完整,独立的程序来演示此问题。
说真的,每个在C编程课程中发现#define
的人都认为他们非常聪明,现在可以用它自己构建语言。在每种情况下,这都是一个非常糟糕的主意,因为它使代码更难以阅读而没有真正的好处。如果你需要一个无限循环,只需写出for(;;)
并完成它。