私は、次のコマンドを使用してC++で2クラスをコンパイルしようとしています:C++変数に初期化子がありますが、型が不完全ですか?
g++ Cat.cpp Cat_main.cpp -o Cat
しかし、私は、次のエラーが表示さ:
Cat_main.cpp:10:10: error: variable ‘Cat Joey’ has initializer but incomplete type
誰かがこれは何を意味するのか私に説明してもらえますか?私のファイルは基本的にはクラス(Cat.cpp
)を作成し、インスタンス(Cat_main.cpp
)を作成することです。ここに私のソースコードは次のとおりです。
Cat.cpp:
#include <iostream>
#include <string>
class Cat;
using namespace std;
int main()
{
Cat Joey("Joey");
Joey.Meow();
return 0;
}
Cat_main.cpp:
#include <iostream>
#include <string>
using namespace std;
class Cat
{
public:
Cat(string str);
// Variables
string name;
// Functions
void Meow();
};
Cat::Cat(string str)
{
this->name = str;
}
void Cat::Meow()
{
cout << "Meow!" << endl;
return;
}
まだ定義されていないクラスのオブジェクトは宣言できません。 – iammilind
どのように表示するのですか? –
@Ken:ヘッダファイルをインクルードする必要があります。 –