2017-04-12 54 views
-1

我想這個問題已經被問了幾次,但似乎很多依賴於用戶的情況下。如何解決錯誤「預期的構造函數,析構函數或類型之前‘(’令牌轉換」?

我有類我的頭文件,它正在從另一個類繼承的另外一些軟件包:

class xyz : public abc { 
private: 
    string s; 
public: 
    ros::Publisher eRead; 
    xyz(int , const char*); 
    ~xyz(); 
} 

現在,我有我的cpp文件,我想拿到我的定義:

xyz::xyz(int a, const char *b = NULL):abc(a, b){} 
xyz::~xyz(){} 

但是,它一直在向我拋出上述錯誤。

error: expected constructor, destructor, or type conversion before ‘(’ token 

我在做什麼錯?任何幫助表示讚賞。對不起,如果已經回答了。

+0

您已經在頭文件中實現了構造函數,並且您沒有在cpp文件中給出'a'和'b'類型。 –

+0

@JamesRoot編輯,但現在得到新的錯誤'對xyz的vtable未定義的引用' –

回答

0

好的解決了。 我的頭文件 - >

class xyz : public abc { 
private: 
string s; 
public: 

xyz(int a, const char* b); 
} 

我的CPP文件:

xyz::xyz(int a, const char *b = NULL):abc(a, b){} 

這是我多問題CmakeLists和鏈接目錄的問題。不管怎麼說,多謝拉。

相關問題