このエラーを理解するのを手伝ってくれる人はいませんか?「暗黙的に宣言された '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;
}

ベストアンサー1

クラス定義でコンストラクタを宣言し忘れました。publicクラスのセクションで宣言します (クライアントがそれを使用してインスタンスを作成する場合)。

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

      private:
              int p;
};

これで、すでに行ったクラスの外部に定義を記述できるようになりました。

おすすめ記事