Map c++;wcout std::映射值

Map c++;wcout std::映射值,map,c++,Map,C++,我有一个名为“prompts”的std::map,声明如下: std::map<const int, wstring, std::less<int>, std::allocator<std::pair<const int, std::wstring> >> prompts; std::映射提示; 它存储int“key”和wstring“value”对。如果我这样做: wcout << prompts[interpreter->

我有一个名为“prompts”的std::map,声明如下:

std::map<const int, wstring, std::less<int>, std::allocator<std::pair<const int, std::wstring> >> prompts;
std::映射提示;
它存储int“key”和wstring“value”对。如果我这样做:

wcout << prompts[interpreter->get_state()];
wcout get_state();
编译器(vc10)抱怨

error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::basic_string<_Elem,_Traits,_Ax>' (or there is no acceptable conversion)

错误C2679:binary'在第一行中,您缺少一个
std::

std::映射提示

您应该编写
std::wcout
而不是
wcout

我刚刚试过这段代码,它可以编译

#include <map>
#include <iostream>
#include <string>

int main()
{
    std::map<const int, std::wstring, std::less<int>, std::allocator<std::pair<const int, std::wstring> >> prompts;
    std::wcout << prompts[1];
    return 0;
}
#包括
#包括
#包括
int main()
{
地图提示;

是的,你是对的…我还包括了,而不是,这也没有帮助…我犯了愚蠢的错误。谢谢你的帮助…我会责怪语言,不是你。