返回一个对象的纯虚方法
Pure virtual method returning an object?
我想做这个纯虚拟方法:
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
。你知道吗?
得知该方法从类MonMartien
中返回自定义类型后,我现在有了不同的理论。
您可以看到,此错误消息表明编译时类型未知。确保在MonMartien
申报之前先进行MonLaser
申报。如果在同一个头文件中有两个,请确保将MonLaser
的声明置于MonMartien
的声明之上。如果它在一个单独的文件中,一定要包括头文件。
同时,确保声明不在类内部,因为这样类型将是不可见的,因此类外的任何人都无法访问。
在本质上,这一切归结为:MonLaser
在哪里定义?
相关文章:
- 在他自己的方法中,有可能将一个对象取消引用到另一个对象吗
- 检查哪个对象调用了另一个对象的对象方法
- 如何将 c++ 类包装到 python 中,以便我可以使用 pybind11 访问其成员的公共方法(成员是一个对象指针)
- 我可以制作一个对象方法,如果单独调用,它将自行修改,但如果在复制初始化期间调用,则会返回一个新对象?
- 如何在 VC++ 中通过引用传递另一个对象的方法(错误 C2664)
- 仅将方法应用于类的一个对象
- 我是否要创建一个对象来使用C 中的类方法
- 使用方法影响另一个对象的字段
- 调用对象类方法,该方法在另一个对象类中的向量中
- 方法从C 中的另一个对象执行
- 你如何断言一个对象在c++中有一个特定的方法
- 而不是在 lua 中创建一个对象,如何让 lua 直接高C++对象来启动方法?
- C++如果我有一个对象指针,是在堆栈或堆上分配的方法变量
- 从一个对象线程中使用 const 方法是否安全
- 如何让一个带有方法的c++对象接受封闭类的参数
- 成员函数指针指向另一个对象的方法
- 将一个对象发送到另一个对象并调用first-objects方法
- 我必须创建一个对象来调用类方法吗?或者我可以只键入类名吗
- 如何将同一个对象传递给另一个对象的另一个方法
- 你能同时对一个对象调用几个方法吗