Message.hpp при компиляции одного из них кидает такие ошибки:
error C2065: Message: необъявленный идентификатор
error C2923: Network::SafeQueue: "Message" не является допустимым аргументом типа шаблон для параметра "T"
Не могу понять, почему SafeQueue не может принять Message аргумент как тип шаблона.
Message.hpp
https://pastebin.com/iWaDAwk1
Connection.hpp
https://pastebin.com/b9N6mx8D
Лог:
https://pastebin.com/iHsBSxhW
хэдеры не компилируют
У них есть .cpp
Не понимаю, почему Connection.hpp не видит Message,hpp.
у тебя цикличные инклюды
потому что один включает другой, а тот первый
А как мне сплитнуть тогда их?
прочитай про forward declaration
¯\_(ツ)_/¯ ну я не знаю, что у тебя было раньше, сейчас сходу вижу одну глобальную проблему, которую тебе предстоит решить =) а именно, тебе нужно убрать include Message.hpp из Connection.hpp и убрать Connection.hpp из Message.hpp🧐
Убрал и теперь все места, где есть Message в Conection.hpp светятся красным. Потому что не хватает инклюда, который убрал
есть Forward Declaration
если ты не используешь реально в коде что то, то достаточно знания имени этой штуки и что это такое(функция/класс и т.д.), таким образом можно объявить нечто, а потом в файле реализации уже подключать
Обсуждают сегодня