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

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

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

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

C++
達(dá)令說 2019-07-23 14:38:44
如何使用帶有用戶定義類型的std :: maps作為鍵?我想知道為什么我不能將STL映射與用戶定義的類一起使用。當(dāng)我編譯下面的代碼時(shí),我收到以下神秘的錯(cuò)誤消息。這是什么意思?此外,為什么它只發(fā)生在用戶定義的類型?(當(dāng)它們用作密鑰時(shí),原始類型是可以的。)C:\ MinGW \ bin .. \ lib \ gcc \ mingw32 \ 3.4.5 ........ \ include \ c ++ \ 3.4.5 \ bits \ stl_function.h ||在成員函數(shù)`bool std :: less <_Tp> :: operator()(const _Tp&,const _Tp&)const [with _Tp = Class1]':C:\ MinGW \ bin .. \ lib \ gcc \ mingw32 \ 3.4.5 ........ \ include \ c ++ \ 3.4.5 \ bits \ stl_map.h | 338 |從`_Tp&std ::實(shí)例化map <_Key,_Tp,_Compare,_Alloc> :: operator [](const _Key&)[with _Key = Class1,_Tp = int,_Compare = std :: less,_Alloc = std :: allocator>]'|C:\ Users \ Admin \ Documents \ dev \ sandbox \ sandbox \ sandbox.cpp | 24 |從此處實(shí)例化|C:\ MinGW \ bin .. \ lib \ gcc \ mingw32 \ 3.4.5 ........ \ include \ c ++ \ 3.4.5 \ bits \ stl_function.h | 227 |錯(cuò)誤:不匹配'運(yùn)算符<'in'__ x <__y'| || ===構(gòu)建完成:1個(gè)錯(cuò)誤,0個(gè)警告=== |#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貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊

默認(rèn)情況下std::map(和std::set)用于operator<確定排序。因此,您需要operator<在您的班級上定義。

兩個(gè)對象被認(rèn)為是等同的 if !(a < b) && !(b < a)

例如,如果由于某種原因,您想要使用不同的比較器,map則可以更改第三個(gè)模板參數(shù)std::greater。


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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