qt编译错误:invalid new-expression of abstract class type "*"


编译qt程序中出现了编译错误:invalid new-expression of abstract class type “*”

1 class dx_iface : public DRW_Interface {
2 public:
3     dx_iface(){dxfW = NULL;}
4     ~dx_iface(){}
5     bool printText(const std::string& fileI, dx_data *fData);
6     void writeEntity(DRW_Entity* e);
7     ...
8

这个是由于抽象类DRW_Interface中的抽象接口,继承类dx_iface没有完全实现。
由于DRW_Interface中的抽象接口多大50-60个,哪些抽象接口没有实现呢?
打开警告窗口,找DRW_Interface所在头文件,可以看到DRW_Interface::writeObjects还没有实现。

解决
在dx_iface的头文件中,增加实现即可!
virtual void writeObjects() {
  // your code
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM