所以我有一个地图myMap,我试图静态初始化(必须这样做).
我正在做以下事情:
myMap = { {415,{1,52356,2}},{256,{356,23,6}},//...etc };
但是我收到以下错误:“数组初始化程序必须是初始化程序列表.”
我上面的语法有什么问题?
解决方法
你应该使用数组< float,3>而不是“普通”arrray:
#include <map> #include <array> #include <iostream> int main() { std::map<float,std::array<float,3>> myMap { {415,3>{1,3>{356,6}} //...etc }; /* OR std::map<float,{{1,2}}},{{356,6}}} //...etc }; */ std::cout << myMap[415][0] << " " << myMap[256][1] << " " << std::endl; return 0; }