0
我有一個類看起來像這樣C++:二維靜態地圖的初始化
class MapClass {
public:
static map<string, map<string, double>> spreadMap;
};
那麼既然是可以初始化一個標準的地圖是這樣的:
map<string,int> AnotherClass::standardMap = {
{"A",0},
{"B",1},
{"C",2}
};
我試着做同樣的2D地圖:
map<string, map<string, double>> MapClass::spreadMap = {
{"A", {"B", 0}},
{"C", {"D", 1}},
{"E", {"F", 2}}
};
但顯然它不工作。錯誤信息是:
error: could not convert '{{"A", {"B", 0}}, {"C", {"D", 1}}, {"E", {"F", 2}}}' from '<brace-enclosed initializer list>' to 'std::map<std::basic_string<char>, std::map<std::basic_string<char>, double> >'
有沒有人知道如何解決這個問題,如果可能的話沒有某種初始化函數。
非常感謝!
如何?{{「A」,{{「B」,0}}}}? – Quentin