170 похожих чатов

Может кто знает, в чём проблема? Есть два файла Connection.hpp,

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

12 ответов

17 просмотров

хэдеры не компилируют

Gabriel- Автор вопроса
Gabriel- Автор вопроса

Не понимаю, почему Connection.hpp не видит Message,hpp.

у тебя цикличные инклюды

Gabriel
Не понимаю, почему Connection.hpp не видит Message...

потому что один включает другой, а тот первый

Gabriel- Автор вопроса
Gabriel
А как мне сплитнуть тогда их?

прочитай про forward declaration

¯\_(ツ)_/¯ ну я не знаю, что у тебя было раньше, сейчас сходу вижу одну глобальную проблему, которую тебе предстоит решить =) а именно, тебе нужно убрать include Message.hpp из Connection.hpp и убрать Connection.hpp из Message.hpp🧐

Gabriel- Автор вопроса
Till Schneider
¯\_(ツ)_/¯ ну я не знаю, что у тебя было раньше, с...

Убрал и теперь все места, где есть Message в Conection.hpp светятся красным. Потому что не хватает инклюда, который убрал

Gabriel
Убрал и теперь все места, где есть Message в Conec...

если ты не используешь реально в коде что то, то достаточно знания имени этой штуки и что это такое(функция/класс и т.д.), таким образом можно объявить нечто, а потом в файле реализации уже подключать

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
3
Карта сайта