2012-08-16 47 views
0

僅僅因爲我想要在我的父類和子類中應用多態性的虛擬方法,所以我放入了虛擬析構函數。不過,我不斷收到錯誤C++虛擬析構函數和符號引用錯誤

兒童::〜兒()

兒童::兒童()作爲符號引用錯誤。

class Parent { 
public: Parent(); 
     virtual ~Parent(); 
}; 

class Child { 
public: 
     Child(); 
     ~Child(); 
}; 
+1

您打算讓'Child'繼承Parent嗎?我不確定,所以我只留下那部分,但名稱暗示你可能... – 2012-08-16 01:56:44

+1

這是無效的C++語法。這不是一個真正的問題。告訴我們你想要做什麼,向我們展示真實的代碼和確切的錯誤。否則,我們無法幫助你。 – 2012-08-16 01:58:18

+0

我編輯了C++ - 現在應該很好吧 – 2012-08-16 01:58:47

回答

0

您必須定義析構函數,而不是申報。

virtual ~Parent() {}; 
+0

不,不,我在代碼中也是這樣做的。爲父母和孩子都實施了。 – teamaster 2012-08-16 01:56:35

+0

是的是 - 這就是你需要:-)鏈接器需要能夠找到它 – 2012-08-16 01:57:02

+0

哦,啊,我能夠鏈接和編譯,但錯誤來自我使用該對象的文件。 :( – teamaster 2012-08-16 02:04:49