Предполагая, что внутреннее чувство @ marcog, что это циклическая зависимость, корректно (возможно, Card.h включает в себя Hand.h, тем самым импортируя файл Hand.h перед тем, как перейти к объявлению класса Deck
), этобыть решено с помощью предварительных объявлений.
Я вижу, у вас уже есть предварительное объявление класса Card
("class Card;
").Поэтому тебе действительно нужно #include "Card.h"
?Если вы удалите это включение, вы все равно можете обратиться к классу Card
из-за предварительного объявления, но это может разрешить циклическую зависимость.
Я обычно не #include
.h файлы из других.h файлы на C ++, если только я действительно не должен.Если вы просто ссылаетесь на класс в другом файле (с помощью указателя, ссылки или помещаете его в контейнер, подобный вектору), тогда вы можете просто объявить класс вперед и физически включить файл заголовка из .cpp.только файл.