Я пытаюсь реорганизовать DLL для управления устройством OPOS. После того, как устройство заявлено и включено, оно запускает поток, чтобы постоянно проверять данные, полученные от устройства OPOS. Я объявляю метод в OposReader.h
Но я подумал, что было бы лучше вытащить указанный метод и передать его помощнику. Итак, я создал класс ReaderThreadHelper.h
положить его в … но в потоке я должен настроить значения в OposReader.
Так что в OposReader я звоню #include ReaderThreadHelper.h
и в ReaderThreadHelper.h
Я должен сделать #include OposReader.h
… и это начинает проблему с циклической ссылкой … и я слишком новичок в C ++, чтобы знать, как это исправить.
Должен ли я даже сделать это для начала? Есть ли более правильный способ сделать это?
Краткий ответ: используйте предварительные объявления и включайте заголовки для .cpp
только файлы.
Подробное объяснение здесь: Разрешить циклические зависимости в C ++
Других решений пока нет …