【发布时间】:2013-03-31 16:43:46
【问题描述】:
我正在尝试做这个纯虚方法:
virtual MonLaser& getLaser() = 0;
但是我得到了各种各样的错误:
Error 6 error C2143: syntax error : missing ';' before '&'
Error 5 error C2253: 'MonMartien::getLaser' :
pure specifier or abstract override specifier only allowed on virtual function
Error 13 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Error 7 error C2433: 'MonMartien::MonLaser' : 'virtual' not permitted on data declarations
我需要做一个纯虚方法,否则我无法访问我的Laser。你有什么想法吗?
【问题讨论】:
-
问我一个愚蠢的问题,
MonLaser是对象的类型吗?如果是这样,请尝试返回pointer而不是reference。 -
尝试包含一个最小的、完整的示例来演示问题。
-
是的,MonLaser 是 MonMartien 的一个对象。我会试试看,但为什么会成功?
-
等等...我犯了一个错误。说,
MonLaser是在哪里定义的?我的意思是类/结构,不管怎样? -
它在 MartienJiggle 中定义,它是 MonMartien 的一个子类。
标签: c++