有时,我正在处理相对复杂的问题(并且有时会混淆 - 以最初编写它的人的布局方式)抽象类。从它继承时,我有时会遇到cannot instantiate abstract class
,大部分时间是因为我忘记声明&实现了一个纯虚函数。我可以从编译器获得更多关于它找到的函数的信息,我没有实现它而不是寻找它?有关“无法实例化抽象类”的更多信息
2
A
回答
4
您是否使用Visual Studio?如果是,则从错误列表选项卡切换到输出选项卡。会有这样的:
main.cpp(8): error C2259: 'foo' : cannot instantiate abstract class
due to following members:
'void Foo::method(char)' : is abstract
2
每当你遇到的消息,然后立即意味着你还没有定义在派生类纯virtual
功能,并希望创建它的一个实例。如果你使用的是一个好的编译器,那么我敢肯定,它表明哪个纯粹的virtual
函数你没有实现。至少,GCC表明这一点。
在这里看到的错误消息:http://www.ideone.com/83iDk
prog.cpp: In function ‘int main()’:
prog.cpp:11: error: cannot declare variable ‘a’ to be of abstract type ‘A’
prog.cpp:6: note: because the following virtual functions are pure within ‘A’:
prog.cpp:7: note: virtual void A::f()
那是绰绰有余的,你没有实现A::f()
。
+1
Visual Studio也指出了这一点(感谢Fanael指出它)。谢谢! (1) – Samaursa 2011-06-09 15:20:30
相关问题
- 1. C++ - 无法实例化抽象类
- 2. 无法实例化抽象类
- 3. PyXB:无法实例化抽象类型
- 4. “无法实例化抽象类”错误
- 5. 实例化的抽象类
- 6. 实例化的抽象类
- 7. 'ExpandableListAdapter'是抽象的;无法实例化
- 8. 抽象类中的方法是否可以使用反射来获取有关实例化类的信息?
- 9. 抽象类实例化
- 10. 实例化Java抽象类?
- 11. scala:抽象类实例化?
- 12. 无法创建抽象类的实例
- 13. 无法实例抽象类“base.CreditCard”
- 14. 无法实例化bean类[org.springframework.batch.core.JobExecution:它是一个抽象类吗?
- 15. 没有错误,而实例化抽象类,虽然抽象方法未实现
- 16. 无法实例化组件信息
- 17. 如何避免无法实例化抽象类的问题
- 18. “不能实例化抽象类......与抽象方法”的类不应该有任何抽象方法
- 19. 实例化的内抽象类另一抽象类
- 20. 抽象类实例化内部类
- 21. 关于实例化抽象类的子类的疑问
- 22. Perl Gtk无法创建抽象(非实例化)类型`GtkBox'的实例
- 23. 抽象类中的实例化
- 24. C++,无法实例化抽象类错误
- 25. C2259:'ATL :: CComObject <Base>':无法实例化抽象类
- 26. Hibernate无法实例化抽象类或接口
- 27. Juce vst合成器:无法实例化抽象类
- 28. 错误错误C2259:'玩家':无法实例化抽象类
- 29. 帮助错误C2259:无法实例化抽象类
- 30. 无法在创建CTI适配器时实例化抽象类
您是否使用Visual Studio?然后从错误列表选项卡切换到输出。会有这样的错误:'错误C2259:'foo':由于以下成员,无法实例化抽象类:[缺少纯虚拟成员]' – Fanael 2011-06-09 15:16:20
@Fanael:正是我所要求的!我不知道输出结果如何。如果你把这个作为答案,我会检查它。 – Samaursa 2011-06-09 15:17:58