Ваш Room
должен иметь указатели на другие Room
с (то есть Room*
с).
Объект типа класса (например, Room
) имеет размер, по крайней мере, достаточно большой, чтобы содержать все его переменные-члены (поэтому, если вы сложите размеры каждой из его переменных-членов, вы получите наименьшее размер, которым может быть класс.
Если бы класс мог содержать переменные-члены своего собственного типа, тогда его размер был бы бесконечным (каждый Room
содержит четыре других Room
s, каждый из которых содержит четыре других Room
s, каждый из которых содержит .. .).
C ++ не имеет объектов ссылочного типа, таких как Java и C #.