我对编译器警告感到困惑。我使用了 MinGW 5.3.0 32bit 并尝试编译此代码:
#include <QCoreApplication>
#include <QObject>
#include <QDebug>
class A : public QObject
{
Q_OBJECT
public:
A(QObject* parent = 0){ Q_UNUSED(parent);}
~A() {qDebug()<<"~A()";}
virtual void func(){}
private:
};
class B : public A
{
Q_OBJECT
public:
B(){}
B (const B & object) {/*do somthing*/}
~B(){}
void func(){/*do somthing*/}
private:
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
return a.exec();
}
Run Code Online (Sandbox Code Playgroud)
我的编译器告诉我:
在复制构造'B :: B(常数B&)':警告:基类的类A'应在复制构造明确初始化[-Wextra] B(const的B&对象){/做财产以后/} ^
怎么了?