2017-08-19 79 views
-6

我在C++以下地圖:插入到地圖對關鍵和列表作爲價值

typedef std::pair<int, int> iPair; 

std::map< iPair, std::list<iPair> > world; 

我想使插入和地圖updat一對(U,V) - >推早在名單:

iPair src = make_pair(p1, u1); 
iPair dst = make_pair(p2, u2); 
map[src].push_back(dst); 

試圖訪問地圖[來源]當我得到一個編譯錯誤:

error: missing template arguments before ‘[’ token

+5

不是'map [src]',而是'world [src]' - 那是你變量的名字,不是嗎? – jlahd

+3

你有''使用命名空間標準;'這是導致你使用'地圖'被解析爲'std :: map'這需要一個模板參數,如錯誤說的。 – Gambit

回答

4

你需要world[src]自從我你的地圖變量的名字,應該可以工作。