Witam!
Piszę program, który posiada między innymi przedstawione poniżej klasy. Mój problem polega na tym, że mimo "podłączenia" pliku "unit.h" do pliku "field.h", kompilator cały czas wyrzuca błąd "Unit has not been declared". Podejrzewam, że chodzi o to wzajemne odwoływanie się klas do siebie. Czy mógłby mi ktoś wytłumaczyć co źle robię i jak w prawidłowy sposób to zaimplementować?
Z góry dzięki, pozdrawiam.
field.h:
#ifndef FIELD_H
#define FIELD_H
#include "unit.h"
class Field
{
private:
Unit *unit;
public:
Field();
void setUnit(Unit *unit);
bool isEmpty();
};
#endif // FIELD_H
field.cpp:
#include "field.h"
Field::Field()
{
}
void Field::setUnit(Unit *unit)
{
}
bool Field::isEmpty()
{
}
unit.h:
#ifndef UNIT_H
#define UNIT_H
#include "field.h"
class Unit
{
private:
Field *field;
public:
Unit();
void move(Field *field);
};
#endif // UNIT_H
unit.cpp:
#include "unit.h"
Unit::Unit()
{
}
void Unit::move(Field *field)
{
}