0
我来自java的背景,我正试图学习C++与QT试图做一个tic tac脚趾游戏。我有一个特定的类中初始化对象问题:通过调用它的构造函数我想MainWindow类有一个Player实例并初始化的球员,但我不明白的错误在另一个类中的C++类初始化,出现错误
#ifndef PLAYER_H
#define PLAYER_H
#include "board.h"
#include <qstring.h>
class Player
{
public:
QString token;
Player(QString);
void jouerCoup(int,int, Board&);
};
#endif // PLAYER_H
这是MainWindow类
#include <qstring.h>
#include "player.h"
#include "board.h"
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
Player aPlayer;
private:
Ui::MainWindow *ui;
private slots:
void buttonHandle();
};
#endif // MAINWINDOW_H
在MainWindow.cpp我试试这个
aPLayer = new Player("X");
,我得到这个错误:
../tictactoe/mainwindow.cpp: In constructor 'MainWindow::MainWindow(QWidget*)':
../tictactoe/mainwindow.cpp:6:26: error: no matching function for call to 'Player::Player()'
ui(new Ui::MainWindow)
我试着让QString可变,我也有一个Player.cpp中的构造函数,它需要一个QString并将其分配给播放器的成员。
任何迹象表明我下一步该做什么?我可以直接在MainWindow定义中初始化播放器吗?