qt [error C3646: 未知重写说明符]错误的可能性

来源:互联网 发布:职称论文检测软件 编辑:程序博客网 时间:2024/05/19 17:59

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中是允许的....有些适应不过来..

阅读全文
0 0
原创粉丝点击