我正在尝试重构DLL以控制OPOS设备。声明并启用设备后,它将启动线程以不断检查从OPOS设备接收的数据。我在OposReader.h
中声明该方法
但是我认为,最好删除上述方法,然后将其移至帮助程序中。因此,我创建了一个放在其中的类ReaderThreadHelper.h
,但是在线程中,我必须调整OposReader中的值。
因此,在OposReader中,我调用#include ReaderThreadHelper.h
,而在ReaderThreadHelper.h
中,我必须执行#include OposReader.h
...,这从循环引用开始出现问题...而我对于C ++还是太陌生,不知道如何修理它。
我什至应该这样做吗?有没有更合适的方法可以做到这一点?
最佳答案
简短答案:使用前向声明,并仅包含.cpp
文件的标头。
详细说明在这里:Resolve circular dependencies in C++
关于c++ - C++如何拥有线程助手,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12392801/