今天编译库的时候出现这个问题unqualified-id before numeric constant,是因为变量重复定义了,主要是变量与宏定义同名了,及以下模式:
一个头文件定义一个接口体,
struct{
int Size;
}
然后在另外一个文件定义宏如下:
define Size
一个头文件定义一个接口体,
struct{
int Size;
}
然后在另外一个文件定义宏如下:
define Size
这时就会出现以上的错误,真的需要采用常用的习惯的命名原则,不然真不好查。
今天编译库的时候出现这个问题unqualified-id before numeric constant,是因为变量重复定义了,主要是变量与宏定义同名了,及以下模式:
一个头文件定义一个接口体,
class XXXClass{
const static int MAX_PATTERN_NUM = 1024;
}
然后在另外一个文件定义宏如下:
#define MAX_PATTERN_NUM 100
这时就会出现以上的错误
本文探讨了在C/C++编程中,宏定义与变量名冲突导致的编译错误问题。特别是当头文件中的结构体成员与宏同名时会引发unqualified-id before numeric constant错误。文章提供了具体的例子,并强调了遵循良好的命名习惯的重要性。
8033

被折叠的 条评论
为什么被折叠?



