C4430编译错误解决办法
c4430官方文档介绍
该文提主要是由于未定义类型引起的,导致编译的时候无法确认两者类型。C4430一般伴随着c2143和c2146出现。
引起的原因可能有
一:
头文件互相包,比如a.h包含b.h,而b.h包含a.h 。该种情况,编译器无法同时确认a中和b中的类型,这种情况会报出c4430错误。解决办法是除其中一个头文件即可
二:
头文件包含顺序不对。
具体原因不知道,我的遇到该原因,解决办法是:调整头文件包含顺序。
三:
如官方文档所说,编译器默认int为错误。如果要忽略这种错误可以在vs中设置不在进行该错误提示。
步骤:
右键项目属性->c/c+±>高级->禁用特定警告->编辑->在输入栏中写上 4430 。然后保存即可。
问题排查一般是第一种和第二种。第三适用于从vs2005迁移过程中项目面临的兼容问题。