“error has not been declared” 错误排查 可能是两个头文件互相引用,其中一个头文件首先编译,该头文件中定义了某个变量,那么另一个头文件在编译的时候由于第一个头文件的条件编译宏打开了(#ifndef XXX),所以include该头文件会没有任何效果,导致报错;解决办法是尽量避免相互引用,一些公用的方法或者数据结构最好做成一个通用文件来供其他文件去调用