我正在尝试使用名为getName()的方法,该方法在下面的addPlayer.h文件中定义。 getname()方法将在名为Player的构造函数中使用。我得到的错误是:'getName'未在此范围内声明'。我该如何解决?
感谢您的帮助。
addPlayer.h文件:
#include "../Source/Player.h"
class addPlayer : public QDialog
{
Q_OBJECT
public:
addPlayer(QWidget *parent = 0);
~addPlayer();
tp::Player* makePlayer();
void addPlayer();
QString getName() const;
inline QString addPlayer::getName() const
{
return (ui.name_lineEdit->text());
}
addPlayer.cpp文件:
#include "addPlayer.h"
#include <QMessageBox>
using namespace tp;
addPlayer::addPlayer(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
QObject::connect(ui.ok_pushButton, SIGNAL(clicked()), this,
SLOT(validatePlayer()));
QObject::connect(ui.dateNaissance_pushButton, SIGNAL(clicked()), this,
SLOT(getDate()));
}
addPlayer::~addPlayer()
{
}
Player* makePlayer()
{
return new Player(getName().toStdString());
}
构造函数如下:
class Player: public HumanBeing {
public:
//Constructor
Player(const std::string& p_name);
Player::Player(const std::string& p_name): m_name(p_name)
答案 0 :(得分:0)
您尚未正确确定makePlayer
的定义 - 您需要加addPlayer::
前缀:
Player* addPlayer::makePlayer()
{
return new Player(getName().toStdString());
}