2010-07-16 99 views
0
wstring ws(L"Press 'q' to end."); 
wcout << ws; 

錯誤C2679不工作:二進制 '< <':沒有發現操作者 這需要型 '的std :: wstring的' 的右邊的操作數 (或沒有 可接受轉換)WCHAR在VC++ 2005

這是在VC++ 2005的Win32控制檯應用程序,使用默認設置創建...我認爲這意味着Unicode是嗎?我只是發現cout似乎不支持wstring,這看起來有點難看 - 這是真的嗎?這個應用程序與返回wstrings的庫進行交互,它可能是Unicode,是否需要更改一些項目設置?

回答

0

嘗試

wstring ws(L"Press 'q' to end."); 
wcout << ws.c_str(); 

BTW:WCHAR = wstring的

+1

你說STL不能有自己的字符串類型應付!? – 2010-07-16 10:37:16

+0

很多時候它不能。整個規格中有各種各樣的鑽頭。多數廠商多年來一直修復(類似於hash_maps包含),並正式作爲0x更新的一部分。 – 2010-07-16 10:39:21

+0

誰說wstring == wchar? wstring雖然是wchar的容器。 – 2010-07-16 10:42:29