<分区>
我有一些代码,其中有一些代码看起来像这里的代码(当然,我简化了它)
#define ERROR 0
namespace lib{
class Logger{
public:
typedef enum {ERROR = 1} LogLevel;
};
}
在 visual studio 中编译时出现错误:syntax error: 'constant'
。很明显,问题是我为定义和 typedef 枚举重新使用了 ERROR 一词。
有谁知道影响某些变量名的定义逻辑,这些变量名实际上包含在命名空间和类中。我的意思是,ERROR
怎么会与 lib::Logger::ERROR
混淆,因为我猜测它们具有完全不同的范围。