我无法将结构初始化为地图值。第一个示例使用enum作为结构的第二个字段。但是第二个例子没有编译。任何人都可以告诉我为什么以及如何解决它?我希望我的结构用一个衬里初始化,因为我将在地图中放入很多价值。
struct ObjectB
{
std::string name;
std::string description;
}
std::map<uint8_t, ObjectB> map2= {
{ 0, { "This fails!!", "abc"} },
{ 1, { "This fails!!", "abc"} },
{ 2, { "This fails!!", "abc"} },
{ 3, { "This fails!!", "abc"} }
};
然而第二个
C2398 Element '10': conversion from 'initializer list' to 'std::pair<const _Kty,_Ty>' requires a narrowing conversion
ERROR
/news/{slug}
这似乎与Braced initialisation of std::map member compiler error有关。这表明VS被窃听了。但我现在正在使用VS2015。