第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用帶有用戶定義類型作為鍵的std:map?

如何使用帶有用戶定義類型作為鍵的std:map?

C++
郎朗坤 2019-06-26 16:57:57
如何使用帶有用戶定義類型作為鍵的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 回答

?
紫衣仙女

TA貢獻1839條經(jīng)驗 獲得超15個贊

默認情況下std::map(和std::set)使用operator<來確定分類。因此,您需要定義operator<在你的課上。

兩個物體被認為等價物 if !(a < b) && !(b < a).

如果出于某種原因,您希望使用不同的比較器,則使用map可以更改std::greater例如。


查看完整回答
反對 回復(fù) 2019-06-26
  • 3 回答
  • 0 關(guān)注
  • 607 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號