我正在将我们的库更新到较新的版本,但遇到了编译错误:
ClassName &ReturnClass::FuncName(wchar_t *,size_t)' : member function already defined or declared
然而它之前是这样定义的:
ClassName &ReturnClass::FuncName(unsigned short *,size_t)'
我们将 wchar_t
作为 unsigned short
的 typedef
,这似乎是导致问题的原因。
我曾尝试使用编译器选项 wchar_t
,但是当它看到 typedef
时,会导致库中出现大量错误。
我正在使用 nmake 在 Windows 和 MSDEV 中构建代码作为代码编辑器。
有人见过这种东西吗?你是怎么解决的?
最佳答案
好的,问题已经解决。所需的编译器选项是 /Zc:wchar_t
而不仅仅是 `wchar_t',尽管这确实解决了最初的问题。
我的印象是“/Zc”位是特定于 MS 的,直接使用 clr 编译器时不需要 - DOH!
关于c++ - wchar_t 与 unsigned short 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13824912/