作者blueice08 (藍色的冰)
看板C_and_CPP
標題[問題] 用struct作為map的key,value
時間Sun Jan 17 14:13:52 2010
假設我定義兩個結構及一個map:
typedef struct i_test {
unsigned int ii1;
unsigned int ii2;
unsigned int ii3;
};
typedef struct v_test {
unsigned int vv1;
unsigned int vv2;
};
typedef map<i_test, v_test> testMap;
然後:
i_test itest;
v_test vtest;
testMap ttMap;
ttMap.insert(make_pair(itest, vtest)); //有發生錯誤。
--
我稍微google了一下似乎在key的i_test內要多加入 operator < 的多載定義,
好讓map瞭解如何去比較i_test的大小。
不過這部份我還是看不大懂要怎麼去定義:(
ps.程式需求是只要有不同的(ii1, ii2, ii3)資料就要insert一個新的元素放到map中。
謝謝版友們解惑:)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.38.62.117
→ hilorrk:話說 C++的class和struct除了預設的存取設定外 還有哪些 01/17 14:36
→ hilorrk:不同阿@@? 01/17 14:37
推 legendmtg:沒有不同 01/17 15:24
→ hilorrk:所以又是一個C語言的包袱嗎...為什麼不設計成跟C#一樣 01/17 15:31
→ hilorrk:讓struct可以有減重的效果@@? 01/17 15:32