作者takua624 (TAKUA)
看板EE_DSnP
标题[问题] 搞不懂怎麽用operator()
时间Tue Oct 4 11:42:35 2011
真的弄不懂这东西要怎麽用耶
我照着计程课本把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
1F:→ takua624:不清楚Less这个type哪里abstract了,明明是继承Compare 10/04 11:45
2F:→ takua624:的啊...怎麽会因为Compare有一个pure virtual function就 10/04 11:46
3F:→ takua624:变成不能用了咧? 10/04 11:46
4F:→ djshen:Less的operator()有加const? 10/04 12:10
5F:推 andy801110:你有写operator()() 的函式内容了吗? 10/04 13:17
6F:→ andy801110:等等 你呼叫的时候该不会是: Less(); 吧? 10/04 13:23
7F:推 simpdanny:Lest()()? 10/04 13:41
8F:推 wmin0:可以麻烦你把Compare和Less的code贴一下吗 或者站内信 10/04 13:51
9F:推 wmin0:看起来像是Less没有override Compare的那个pure virtual 10/04 14:02
10F:→ e124553423:继承後Less/Greater要把operator的内容定义才能用 10/04 16:11
11F:→ e124553423:不知道是不是没override? 10/04 16:12
12F:推 ric2k1:宣告一个 pure virtual function: 10/04 16:38
13F:→ ric2k1:void Compare::operator()() const = 0; 10/04 16:38
14F:→ ric2k1:virtual void Compare::operator()() const = 0; 10/04 16:39
15F:推 ric2k1:应该要加 virtual, 上上一行贴错... 10/04 16:39
16F:→ takua624:这个我有在计程课本上看到,不过还是感谢教授罗~! 10/04 22:49