我在Qt C++程序中遇到了这个问题,它说“无法重新声明构造函数”。我该如何解决?
class MagicTransaction : public QObject
{
Q_OBJECT
public:
explicit MagicTransaction ( QObject* parent = 0 );
private slots:
void start ( );
MagicTransaction( QObject* parent );
};
最佳答案
您有两个MagicTransaction
构造函数的声明,它们带有一个QObject*
参数-一个在public
节中,一个在private
节中(请注意,默认值和explicit
修饰符不参与名称修饰)。只需删除一个就可以了:
class MagicTransaction : public QObject
{
Q_OBJECT
public:
explicit MagicTransaction ( QObject* parent = 0 );
private slots:
void start ( );
// second definition removed here
};
关于c++ - 构造函数无法重新声明。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59520500/