这是代码:

#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部分声明它(如果您希望客户端使用它创建实例):

class classA
{
      public:
              classA();    // you forgot this!
      protected:
                void setX(int a);

      private:
              int p;
};

现在,您可以在已经完成的类之外编写其定义。

关于c++ - 谁能帮助我了解此错误? “definition of implicitly-declared ‘classA::classA()’”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5765780/

10-13 08:27