나는 절차 적 게임 레벨 빌더를 재귀 적 생성자로 사용하고있다. 각각의 새로운 Door 객체는 그 이상의 Room 객체에 대한 생성자를 호출합니다.이 객체는 방의 한계에 도달 할 때까지 해당 벽에 대한 새로운 Door 생성자를 호출합니다. 적절한 호랑이 처리를 위해 문이 무엇인지 알기 위해 방이 필요하고 문은 출입구에 대한 포인터가 있어야하지만 컴파일러는이를 좋아하지 않습니다. 처음에 #include 데이지 체인이 아래로 (>>는 여기에 # 포함됨을 의미합니다.) :서로 참조하는 클래스를 올바르게 작성하는 방법은 무엇입니까? (C++)
randDungeon.cpp >> door.cpp >> door.h >> room.cpp >> room.h >> 라이브러리. cpp >> Library.h
하지만 실제로는 room.cpp가 Door 객체를 알지 못하는 메시지와 함께 컴파일하려고하면 오류가 발생합니다. 위의 흐름에서 방과 문을 뒤집어 놓으면 반대의 오류가 발생합니다. 즉, 내 방은 자신의 문이 무엇인지 알고 있지만 문은 더 이상 방을 이해하지 못합니다.
상속받지 않는 클래스의 방과 방이 서로 이야기 할 수있는 클래스의 올바른 구성은 무엇입니까?
.cpp 파일을'# include '하지 않기를 바랍니다 ... – LordAro
컴파일러가 불평하지 않는다고 말한 적은 한번도 없었습니다. 왜 그런지 물어봐도 될까요? – redkat85
답변으로 작성 됨 – LordAro