主要原因是源文件相互include
我使用了fram.h 包含了除了main以外的所有文件,从而main只需要包含这一个,后面使用时workerManager.h文件中也用到了后面文件里的类,于是我就让workerManager.h也包含了fram.h这个文件,于是就出现了一片红的编译器报错。
在下面的博客里看到了include相互引用的解释,如a.h 引用了b.h, 而b.h中包含了a.h。
而我的问题也是如此,workerManager.h中包含了fram.h, 而fram.h中也包含了workerManager.h。
修改方法就是:
删去了fram.h 中的workerManager.h,由于main需要,所以在main中单独include。
https://blog.csdn.net/oguro/article/details/52693754?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164138901116780265459298%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164138901116780265459298&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-3-52693754.pc_search_insert_es_download_v2&utm_term=was+not+declared+in+this+scope&spm=1018.2226.3001.4187