Я пытаюсь скомпилировать 2 класса в C++ с помощью следующей команды:
g++ Cat.cpp Cat_main.cpp -o Cat
Но я получаю следующую ошибку:
Cat_main.cpp :10:10: error: переменная 'Cat Joey' имеет инициализатор, но неполный тип
Кто-нибудь может мне объяснить, что это значит? В основном мои файлы создают класс (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;
}