0
我可以編譯這段代碼,我從MSDN page有:unordered_map插入()錯誤
using namespace std
typedef std::unordered_map<char, int> Mymap;
Mymap c1;
c1.insert(Mymap::value_type('a', 1));
c1.insert(Mymap::value_type('b', 2));
c1.insert(Mymap::value_type('c', 3));
但是,當我更改爲:
using namespace std
typedef std::unordered_map<int, vector<int> > Mymap;
Mymap c1;
c1.insert(Mymap::value_type(1, vector<int> v (1,1)));
c1.insert(Mymap::value_type(2, vector<int> v (1,2)));
c1.insert(Mymap::value_type(3, vector<int> v (1,3)));
我得到的錯誤(行號顯然是關閉的片段):
myfile.cpp:121:29: error: expected primary-expression before ‘(’ token
myfile.cpp:121:45: error: expected primary-expression before ‘v’
myfile.cpp:122:32: error: expected primary-expression before ‘(’ token
myfile.cpp:122:48: error: expected primary-expression before ‘v’
myfile.cpp:123:32: error: expected primary-expression before ‘(’ token
myfile.cpp:123:48: error: expected primary-expression before ‘v’
哈希映射應該是「int => int列表」。列表使用一個數字進行初始化。
這裏有什麼問題?我需要使用value_type
以外的東西嗎?
啊!我不是C++程序員,也複製了矢量代碼,並假定你需要一個臨時名稱。 – 2012-03-02 03:12:07