明明包含了头文件,但是还是显示未知的类型
可能这个头文件被某个宏包住了
#if defined(__cplusplus)
在 C++ 代码中包含了一个 C 的头文件会显示这个错误“the util lib only be used in c++”,此时用
#if defined(__cplusplus)
#endif
包一下就行了,但是注意 比如说a.h包含了这个宏,那么所有包含了a.h的文件都必须是c++文件 也就是.mm文件,如果a.h被b.h包含则所有包含b.h的也必须是.mm要不然走那一条路上来的时候那个宏会失效
在头文件声明了一个类型,并且在另一个.m文件中调用了这个类型,也包含了这个头文件,代码没有显示错误,但是编译出错
定义的这个类型没有在.m中实现