如何使用帶有用戶定義類型作為鍵的std:map?我想知道為什么我不能在用戶定義的類中使用STL映射。當(dāng)我編譯下面的代碼時,我會得到以下神秘的錯誤消息。什么意思?另外,為什么它只發(fā)生在用戶定義的類型上?(將基元類型用作鍵時是可以的。)C:\MinGW\bin..\lib\gcc\mingw32\3.4.5.\include\c++\3.4.5\bits\stl_function.h||In成員函數(shù)`boolstd:less<_tp>:Operator()(const_tp&,const_tp&)const[with_tp=Class 1]從`_tp和std:map<_key,_tp,_C:\MinGW\bin..\lib\gcc\mingw32\3.4.5.\include\c++\3.4.5\bits\stl_map.h|338|instantiated>:操作符[](const_key&)[With_key=Class 1,_tp=int,_Compare=std:less,_alloc=std:allocator>]‘C:\MinGW\bin..\lib\gcc\mingw32\3.4.5.\include\c++\3.4.5\bits\stl_map.h|338|instantiatedC:\Users\Admin\Documents\dev\sandbox\sandbox.cpp|24|instantiated從這里開始C:\MinGW\bin..\lib\gcc\mingw32\3.4.5.\include\c++\3.4.5\bits\stl_function.h|227|error:不匹配“運算符<”中的“_x<_y‘\x=生成已完成:1錯誤,0警告=x#include <iostream>#include <map>using namespace std;class Class1{public:
Class1(int id);private:
int id;};Class1::Class1(int id): id(id){}int main(){
Class1 c1(1);
map< Class1 , int> c2int;
c2int[c1] = 12;
return 0;}
- 3 回答
- 0 關(guān)注
- 607 瀏覽
添加回答
舉報
0/150
提交
取消