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