如何调用 class' 成员的构造函数?
How do I call the constructor of a class' member?
我想声明一个 QGraphicsView
,它有一个先前声明的成员作为构造函数的参数,但编译器将其解释为函数。
(参考代码)
class Widnow : public QMainWindow
{
Q_OBJECT
// constructors, member functions, etc...
private:
Ui::Widnow *ui;
QTimer timer01;
QGraphicsScene gaem;
QGraphicsView wiev(&gaem); //this gets interpreted as a function
}
尝试将构造函数调用为 QGraphicsView wiev = QGraphicsView(&gaem);
也会导致错误,因为复制构造函数已被删除...有没有办法不出错地声明此成员?
C++ 编译器认为这是一个方法声明,其中“wiev”作为方法 returns QGraphicsView 的一个实例。这样使用
class Widnow : public QMainWindow
{
private:
QGraphicsScene gaem;
QGraphicsView wiev; //this gets interpreted as a function
public:
Widnow() : wiev(&gaem)
{}
};
我想声明一个 QGraphicsView
,它有一个先前声明的成员作为构造函数的参数,但编译器将其解释为函数。
(参考代码)
class Widnow : public QMainWindow
{
Q_OBJECT
// constructors, member functions, etc...
private:
Ui::Widnow *ui;
QTimer timer01;
QGraphicsScene gaem;
QGraphicsView wiev(&gaem); //this gets interpreted as a function
}
尝试将构造函数调用为 QGraphicsView wiev = QGraphicsView(&gaem);
也会导致错误,因为复制构造函数已被删除...有没有办法不出错地声明此成员?
C++ 编译器认为这是一个方法声明,其中“wiev”作为方法 returns QGraphicsView 的一个实例。这样使用
class Widnow : public QMainWindow
{
private:
QGraphicsScene gaem;
QGraphicsView wiev; //this gets interpreted as a function
public:
Widnow() : wiev(&gaem)
{}
};