Я прочитал как это можно заставить работать с помощью предварительных объявлений.
class A
{
public:
B *objB;
void foo(){}
}
class B
{
public:
A *objA;
void foo(){}
}
Просто хотел подтвердить, возможен ли когда-нибудь такой дизайн?
class A
{
public:
B objB;
void foo(){}
}
class B
{
public:
A objA;
void foo(){}
}
PS: Если бы кто-нибудь мог также объяснить, почему/почему это невозможно логически с точки зрения классов, а не только с точки зрения языка, например, процитировав какой-нибудь пример. Что именно это означает с точки зрения классов?