Немного вопроса о нобе: Мне нужны классы A и B, для которых A имеет член B * и B имеет член A *.Рекурсивные типы данных C++
При компиляции я получаю ошибку: ISO C++ запрещает объявление «B» без типа ». Как я могу обойти это?
Немного вопроса о нобе: Мне нужны классы A и B, для которых A имеет член B * и B имеет член A *.Рекурсивные типы данных C++
При компиляции я получаю ошибку: ISO C++ запрещает объявление «B» без типа ». Как я могу обойти это?
вперед объявить B (или А)
class B; //forward declaration of B
class A
{
B *b;
};
class B
{
A *a;
};
вперед объявить один из класса а или б.
class b; //forward declaration
class a{
//class a stuff
b* ptrtoB;
};
class b{
//class b stuff
a* ptrtoA;
};
Вы можете также рядный вперед объявить один из классов, если ничего другого использует его: class B* pMemberB;
аль-ла-C стиль