Ошибка: Использование не определённого класса. (С++)

Предположим я имею... класс "А" и метод "print" с входящим параметром экземпляра класса "B"

class A { void print(B value){} };

class B {};

Есть ли возможность скомпилировать данный код хоть каким-нибудь инструментом в С++?
А также учитывайте тот факт, что просто переставить классы местами возможности не представляется, данная ошибка программы представлена в виде примера, в действительности же классов много и код большой, но сущность ошибки не меняется.

Я также пробовал объявить класс "B"... не помогло :(

class B;
class A { void print(B value){} };

class B {};

Буду рад любой помощи... спс.


Ответы (1 шт):

Автор решения: Harry

Используйте ссылку/адрес:

class B;
class A { void print(const B& value){} }; // или print(const B* value)
class B {};

Так, как вы написали — без полного знания класса B компилятор обойтись не в состоянии...

→ Ссылка