在构造函数 QT Creator(继承类)中传递默认参数
Posted
技术标签:
【中文标题】在构造函数 QT Creator(继承类)中传递默认参数【英文标题】:Passing default argument in constructor QT Creator ( inherited class ) 【发布时间】:2019-01-27 14:04:30 【问题描述】:我试图在构造函数中传递一个默认参数,但我无法弄清楚它是如何完成的,因为我是 qt 创建者的新手。 这就是我正在尝试的 在头文件中:
public:
Compteur(QWidget *parent = nullptr , int variable= 5);
在 cpp 文件中:
Compteur::Compteur(QWidget *parent = nullptr, int variable) : QLabel(parent)
我得到的错误是:
error: default argument given for parameter 1 of 'Compteur::Compteur(QWidget*, int)' [-fpermissive]
Compteur::Compteur(QWidget *parent = nullptr, int variable) : QLabel(parent)
其余代码: 头文件:
#ifndef COMPTEUR_H
#define COMPTEUR_H
#include <QtWidgets>
class Compteur : public QLabel
Q_OBJECT
QString texte;
int valeur;
int valeurInitiale;
public:
Compteur(QWidget *parent = nullptr , int valI = 5);
void setText(const QString &);
public slots:
void Decremente()
void Reinitialise()
;
#endif // COMPTEUR_H
^
和cpp文件:
包括“compteur.h”
包括
Compteur::Compteur(QWidget *parent , int valI) : QLabel(parent)
【问题讨论】:
感谢我尝试过的回复,它向我显示了一个新错误:错误:未定义对 `vtable for Compteur' 的引用 【参考方案1】:在你的 cpp 文件中,参数应该是这样的
Compteur::Compteur(QWidget *parent, int variable) : QLabel(parent)
【讨论】:
感谢您的回复,我已经尝试过了,现在它给了我这个错误:错误:未定义的对 `vtable for Compteur' 的引用 没有看到代码我就无法判断这个错误,你介意发布它吗? 我已经添加了代码,我没有太多,我刚刚开始创建这个类,其他类工作正常 添加虚拟~computer();到你的电脑头文件 感谢@Spinkoo 的帮助。这是编译器的问题,必须在编译之前运行 qmake,现在它工作正常【参考方案2】:只需删除或评论
ifndef COMPTEUR_H
//这里有heder文件
endif // COMPTEUR_H
【讨论】:
//ifndef COMPTEUR_H #define COMPTEUR_H #include以上是关于在构造函数 QT Creator(继承类)中传递默认参数的主要内容,如果未能解决你的问题,请参考以下文章