在这个关于bool和1的问题的评论中帮助解决正在进行的辩论:
符合标准的C++预处理器是否允许#define用户重新定义语言关键字?如果是这样,符合标准的C++预处理器是否允许这样做?
如果C++程序重新定义了一个语言关键字,那么该程序本身是否符合标准?
可能重复:
在C++中使用关键字class作为变量名
在库的C头文件中,我使用其中一个变量命名为'new'.不幸的是,我在C++项目中使用这个库,并且"new"作为变量名称的出现使编译器变得怪异.我已经在使用extern"C"{#include <...>},但在这方面似乎没有帮助.
我是否需要让库开发人员更改该变量的名称,即使从他的角度来看,作为C开发人员,代码绝对正常,因为"new"不是C关键字?