看板 EE_DSnP 關於我們 聯絡資訊
真的弄不懂這東西要怎麼用耶 我照著計程課本把Compare底下的operator()弄成pure virtual 然後在Less裡面也弄了一個operator() 可是在需要用到Less()的時候,g++就跑出這樣的警告: cannot allocate an object of abstract type ‘Less’ because the following virtual functions are pure within ‘Less’: virtual void Compare::operator()() const 這到底是什麼意思啊? 看過上面的討論串,還是不知道operator()到底是用在什麼場合的 它是某種constructor嗎? -- 春苑樹雪菜萌苗,雀兒喜上夏枝梢;藍眼望盡黃泉路,只盼儷人一美笑長巾初解投送抱,金珠麗葉賀新好;神代仙眷且羨嫉,長伴相隨誓到老。 靜馬千華留秋晚,冬風不止三鄉道;紅枝立約攜手情,今此空餘泣嚎啕。 姬宮千歌音悠悠,櫻井奏樂聲裊裊;奈何天令伊人變,飛離斯愛離斯去。 結城AIRA→ 悲慟獨泣無人應,白晝夢盡皆空語。 ←美鄉あき Kalafina→ 紅月旋響戚音樂,黯然步上鎮魂旅 ←飛 蘭 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.57.147.96
takua624:不清楚Less這個type哪裡abstract了,明明是繼承Compare 10/04 11:45
takua624:的啊...怎麼會因為Compare有一個pure virtual function就 10/04 11:46
takua624:變成不能用了咧? 10/04 11:46
djshen:Less的operator()有加const? 10/04 12:10
andy801110:你有寫operator()() 的函式內容了嗎? 10/04 13:17
andy801110:等等 你呼叫的時候該不會是: Less(); 吧? 10/04 13:23
simpdanny:Lest()()? 10/04 13:41
wmin0:可以麻煩你把Compare和Less的code貼一下嗎 或者站內信 10/04 13:51
wmin0:看起來像是Less沒有override Compare的那個pure virtual 10/04 14:02
e124553423:繼承後Less/Greater要把operator的內容定義才能用 10/04 16:11
e124553423:不知道是不是沒override? 10/04 16:12
ric2k1:宣告一個 pure virtual function: 10/04 16:38
ric2k1:void Compare::operator()() const = 0; 10/04 16:38
ric2k1:virtual void Compare::operator()() const = 0; 10/04 16:39
ric2k1:應該要加 virtual, 上上一行貼錯... 10/04 16:39
takua624:這個我有在計程課本上看到,不過還是感謝教授囉~! 10/04 22:49