我正在尝试使用 C++11 初始化地图地图。我的编译器是 VS 2013 Express。
unordered_map<EnumType, unordered_map<string, string>> substitutions = {
{
Record::BasementType,
{
{ "0", "" },
{ "1", "Slab or pier" },
{ "2", "Crawl" }
}
},
{
Record::BuildingStyle,
{
{ "0", "" },
{ "1", "Ranch" },
{ "2", "Raised ranch" }
}
},
// ... and so on
};
它已编译,但我在 ntdll.dll 中获得断点。但是此代码的简化版本:
unordered_map<EnumType, unordered_map<string, string>> substitutions = {
{
Record::BasementType,
{
{ "0", "" },
{ "1", "Slab or pier" },
{ "2", "Crawl" }
}
},
// *nothing more*
};
工作正常。
为什么当我在地图中有一对以上时这不起作用?如何做得更好?