Определение взаимно-зависимых структур в C++
В программе у меня есть две структуры A и B и я пытаюсь последовательно определить их, при этом у них обоих есть поля, являющиеся ссылками на объект другой структуры. Структура примерно такая:
struct A{
vector<B*> name;
A(){
name = {};
}
};
struct B{
A* name;
B(A* name){
this->name = name;
}
};
Но при запуске компиляции выдается ошибка: 'B' was not declared in this scope ...
Я пробовал выносить это в отдельные файлы, создавать пустой класс B перед A: struct B;,
но ничего так и не получилось сделать.
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Forward declaration спасет отца русской демократии :)
struct B;
struct A
{
vector<B*> name;
A(){
name = {};
}
};
struct B{
A* name;
B(A* name){
this->name = name;
}
};