1. 程式人生 > 其它 >invalid new-expression of abstract class type解決方法

invalid new-expression of abstract class type解決方法

技術標籤:c++學習c++

記錄一個小bug
在這裡插入圖片描述
我在網上找了一下答案如下:

出現這個錯誤原因是new 了一個抽象類出錯,說明父類(介面)中有純虛擬函式沒有實現。接口裡的純虛擬函式全部需要實現,這樣才能new 子類。

例如:
純虛擬函式例如 void fun() = 0; 是純虛擬函式,不是純虛擬函式不作要求。
另外,void fun() { } 空函式體也是實現。

純虛擬函式相當於C#中abstract抽象類。

我在程式碼中加了如下程式碼解決了問題:

#ifdef xxx.hpp
#define xxx.hpp
//todo
#endif