在編寫一個小的C++工程的時候
一直出現提示error: macro names must be identifiers
中文大意應該“宏名稱必須是標識符”。
檢查了代碼都沒有發現問題
后來發現在頭文件的時候
#ifndef 1_h_
#define 1_h_
#endif
定義的宏用了數字開頭
將頭文件重命名為字母開頭,error消失。
猜測是C/C++中變量名不能以數字開頭
理由大概是 當分析"123"這個字符串的時候,如果變量名允許第一個字符為數字,分析器就不知道“123”該是數值常量還是變量名了。