c++ - 如何调用类成员的构造函数?
问题描述
我想声明一个QGraphicsView
具有先前声明的成员的 a 作为构造函数的参数,但编译器将它解释为一个函数。
(代码供参考)
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”作为返回 QGraphicsView 实例的方法。使用这种方式
class Widnow : public QMainWindow
{
private:
QGraphicsScene gaem;
QGraphicsView wiev; //this gets interpreted as a function
public:
Widnow() : wiev(&gaem)
{}
};
推荐阅读
- python - 缺少值时如何旋转和重命名连接的级别列?
- postgresql - 在 Postgresql 中,相同的词对相同的查询给出真假
- asp.net-mvc - 限制(阻止)用户在 ASP.Net MVC 中使用相同的凭据多次登录
- django - 如何预先填写数据库中已经存在的表单字段中的值并交付部分表单或获取剩余的输入
- c# - 在使用 HtmlSanitizer C# 进行消毒时允许模型中的与号 (&)
- swift - 快速语言中的 ctrl
- javascript - 在javascript中将数据从控制器插入数组
- java - 无法选择下拉选项
- python - 没有这样的文件或目录:在编译“pose_estimation.py”以使用 Opencv 绘制 3d 立方体时出现“B.npz”
- cassandra - 根据日期获取用于组聚合的不同标签顶点