Я имею дело с ситуацией, когда я пытаюсь определить два класса, которые зависят друг от друга. Это упрощенный пример того, что я пытаюсь сделать.Передовая декларация и классы
class a{
public:
int ia;
int printb(b in){
return in.ib;
}
};
class b{
public:
int ib;
int printb(a in){
return in.ia;
}
};
Это дает мне неопределенные ошибки класса b. Я пробовал
class b;
class a{
public:
int ia;
int printb(b in){
return in.ib;
}
};
class b{
public:
int ib;
int printb(a in){
return in.ia;
}
};
Но это не исправляет проблему. Есть идеи?
Подумайте об этом: Как компилятор должен знать, что 'обратный in.ib;' означает, что, не зная определение 'b'? Вы должны определить 'b', прежде чем вы определяете' a :: printb'. –
Итак, объявляйте только подпрограммы в классах и затем определяете их позже? – WhatWouldKantDo
Да. Вероятно, для этого есть обман, но я тоже не знаю, как это искать. :/ –