任何人都可以帮助我理解这个错误? “隐含声明的'类的定义'classA :: classA()'” [英] Can anyone help me understand this error? "definition of implicitly-declared ‘classA::classA()’"
本文介绍了任何人都可以帮助我理解这个错误? “隐含声明的'类的定义'classA :: classA()'”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
代码如下:
#include <cstdlib>
#include <iostream>
using namespace std;
class classA
{
protected:
void setX(int a);
private:
int p;
};
classA:: classA()
{ //error here.
p = 0;
}
void classA:: setX(int a)
{
p = a;
}
int main()
{
system("PAUSE");
return EXIT_SUCCESS;
}
推荐答案
您忘记声明构造函数在类定义中。在类的 public
部分中声明它(如果您希望客户端使用它创建实例):
You forgot to declare the constructor in the class definition. Declare it in public
section of the class (if you want clients to create instance using it):
class classA
{
public:
classA(); // you forgot this!
protected:
void setX(int a);
private:
int p;
};
现在你可以把它的定义写在你已经做过的类之外。
Now you can write its definition outside the class which you've already done.
这篇关于任何人都可以帮助我理解这个错误? “隐含声明的'类的定义'classA :: classA()'”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文