error: macro names must be identifiers
在编写一个小的C++工程的时候
一直出现提示error: macro names must be identifiers
中文大意应该“宏名称必须是标识符”。
检查了代码都没有发现问题
后来发现在头文件的时候
#ifndef 1_h_
#define 1_h_
#endif
定义的宏用了数字开头
将头文件重命名为字母开头,error消失。
猜测是C/C++中变量名不能以数字开头
理由大概是 当分析"123"这个字符串的时候,如果变量名允许第一个字符为数字,分析器就不知道“123”该是数值常量还是变量名了。