c++编程错误 error C2143和c2440同时出现
碰到当c++编程错误 error C2143和c2440同时出现的情况:
问题1:c++中编程出现错误 ,error C2143:语法错误:缺少“;(在“*”前面)
error C2143:语法错误:缺少类型说明符-假定为Int。注意:C++不支持默认int
问题产生原因:
两个头文件不能相互包含,否则会出现上述问题
问题2:error C2440: “初始化”: 无法从“std::_List_const_iterator<std::_List_val<std::_List_simple_types<Observer *>>>”转换为“std::_List_iterator<std::_List_val<std::_List_simple_types<Observer *>>>”等
修改方案:
将 “符合模式选项” 改为 “否”
![](https://img2020.cnblogs.com/blog/2466109/202109/2466109-20210917063508706-944876037.png)
上面是一些常规解决方式。
我的情况是工程原来好用,重装系统和vs2013后出现的问题,估计是缺少补丁或者系统环境有问题。
错误 17 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
错误 18 error C2440: “初始化”: 无法从“int [163]”转换为“const uint *”
针对报错,试过各种解决方式后,我定位错误位置,直接修改程序
原语句://static const uint qt_meta_data_TrioControlMain[] = {
修改为:static const unsigned int qt_meta_data_TrioControlMain[] = {
程序报错解决。