В гипотетической ситуации у меня есть два класса A и B.
Я пересылаю объявления A и B в начале этого заголовочного файла:
class A;
class B;
Позже я определяю класс B, и определите его следующим образом:
class B
{
public:
A aInstance;
}
По существу создайте объект типа A с именем aInstance в классе B.
Это возвращает неполную ошибку типа, однако,
class B
{
public:
A* aInstance;
}
нет.
Что именно в объявлении объекта bInstance как указателя устраняет эту ошибку? Я в основном ищу объяснение, чтобы помочь мне лучше понять указатели, потому что мое понимание их в настоящее время не очень строгое.
Спасибо