QT报错 error c2143:语法错误:缺少“;“(在“*“的前面) error c4430:缺少类型说明符 - 假定为 int .注意:C++ 不支持

    QT报错 error c2143:语法错误:缺少";"(在"*"的前面) 
                error c4430:缺少类型说明符 - 假定为 int .注意:C++ 不支持默认的 int
昨天写QT的时候遇到这个报错,网上查了半天,都说是因为循环引用了,但是我检查了半天,确信自己没有循环引用,而且路径是对的,头文件也引用了,头皮发麻.
        最后尝试改了一下类名,发现就可以了.仔细分析了一下原因,原来是我声明了一个和该类相同的枚举值,而enum的成员是全局公开的,与类名发生了冲突.
      废话不多说,归纳总结一下:
      报错:error c2143:语法错误:缺少";"(在"*"的前面) ;error c4430:缺少类型说明符 - 假定为 int .注意:C++ 不支持默认的 int
        出现报错的原因:类名与枚举值重名,发生冲突
        解决方案:修改枚举值或者类名即可

猜你喜欢

转载自blog.csdn.net/xialuhui/article/details/126419847