本文主要是介绍qt [error C3646: 未知重写说明符]错误的可能性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.循环引用
在分离式编译中,我们往往习惯将不同的类或者函数分别写在不同的函数中,提高工作效率。但如果在使用时出现两个类分别在两个不同的文件中编写,并且相互引用,则会出现循环引用,引发此错误。
举例:one.h/one.cpp和two.h/two.cpp 在one.h中include two.h,并定义了一个two的object,然后在two.h中又include了one.h
解决方案:在报错的那个.h文件的类定义前加上class声明调用的类(即class 类)。
2.语法错误
此问题大多因为粗心而导致,比如在某个成员函数中把分号;写成了中文分号;,将会出现此类错误。
解决方案:修改分号
3.类的顺序错误
如果一个类的成员中包含另一个类,则被包含的类的生命一定要在包含的类之前。
举例:
class One{
Two t;
}
class Two{
int a;
}
解决方法:调整类的位置。
在遇到这种问题的时候,我们需要透过现象看本质。
通常我都是犯前者的错误,因为这个在java中是允许的....有些适应不过来..
这篇关于qt [error C3646: 未知重写说明符]错误的可能性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!