我想要使用一個結構作爲地圖中的值。爲什麼我必須使用value_type將某些內容插入到地圖中?C++結構在地圖中的值 - 錯誤「重載函數沒有實例匹配參數列表」
#include <map>
struct myStruct {};
int main()
{
std::map<int,myStruct> myStructMap;
myStruct t;
myStructMap.insert(std::map<int,myStruct>::value_type(1, t)); // OK
myStructMap.insert(1,t);
// Error:
// "no instance of overloaded function 'std::map [...]' matches
// the argument list"
}
'struct'是一個關鍵字。你不應該用它來命名一些東西。 – juanchopanza
我真的很想知道爲什麼收到了一個投票?我把這個問題形成了幾分鐘,旁邊的那個編了C++幾年的人也不知道原因...... –
@SebastianSchmitz:那麼他應該立即被解僱。什麼是'myStructMap.insert(1,struct);'應該是什麼意思?!你也錯過了';'。這不是你的測試用例。 –