我包含了“PDCurses/curses.h”,它定义了一个函数“clear()”,然后当我使用“std::wstring::clear()”时,msvc-10.0 编译器会报告错误。包含后,当我“#undef clear()”时,它已修复。代码是这样的:
inline void str_clear( std::wstring& wstr )
{
wstr.clear();
}
我使用了 'std::' 但为什么编译器仍然令人困惑?可能是由多定义的“命名空间”引起的吗?
我包含了“PDCurses/curses.h”,它定义了一个函数“clear()”,然后当我使用“std::wstring::clear()”时,msvc-10.0 编译器会报告错误。包含后,当我“#undef clear()”时,它已修复。代码是这样的:
inline void str_clear( std::wstring& wstr )
{
wstr.clear();
}
我使用了 'std::' 但为什么编译器仍然令人困惑?可能是由多定义的“命名空间”引起的吗?