2017-04-12 98 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和链接目录的问题。不管怎么说,多谢拉。

相关问题