我收到以下错误:
错误C2365:' DECIMAL' :重新定义;之前的定义是' typedef'
用于头文件中的以下定义:
enum DATA_TYPE {DECIMAL, HEXA, STRING};
我理解这个错误是由重复的定义引起的,但是没有其他已知的定义,并且此头文件中没有包含文件。
还有哪些其他原因会导致错误?
答案 0 :(得分:0)
在您收录的标题文件中的某个位置或无限广告包含的文件中,有一个DECIMAL定义为typedef。
不要去寻找它!好吧,如果你真的想要,但你不能做任何事情。只需将你的枚举重命名为像DT_DECIMAL一样合理的东西。
如果您真的想继续使用DECIMAL并避免此错误,则有两种策略。一种是使用命名空间,将你的名字放在与其他讨厌的定义不同的命名空间中。
另一种(旧派)方式是使用掩蔽宏定义。