尝试在 vc++ 2008 express 中输出 wstring 时,我收到一条相当奇怪的错误消息:
错误 C2679:二进制“<<”:未找到采用“std::wstring”类型右侧操作数的运算符(或没有可接受的转换)
如果我理解正确,它报告 wcout 不接受 wstring?我请人在 linux 下编译这段代码,它运行良好。我还在另一台使用 vc++ 2008 express 的计算机上尝试了相同的代码,但仍然失败。vc++ 2008 中的 std 的一个已知问题?
#include <iostream>
int main()
{
std::wstring unicode_test = L"Unicode var";
std::wcout << L"Unicode non-var" << std::endl;
std::wcout << unicode_test << std::endl; //<-- This line fails!
}
我正在使用 vc++ 2008 express sp1,所有更新都达到 KB948127。我知道控制台需要更改代码页,但这甚至没有编译。谢谢。