這個錯誤正在發生,我不知道爲什麼。 首先,我想製作一個BattleShip遊戲,並且我已經有了一些課程,而且我需要實現一些功能。我從畫板開始,但我的時間非常糟糕。如果以前有人對此感興趣或者做過這些,可以給我一點幫助,我會很感激。這是我最後一個學期的項目,我的脖子上掛了一根繩子。沒有匹配的函數調用'Board :: Board()'
這是問題所在。
我有我的局級
class Board {
public:
Board(const string &filename);
//bool putShip(const Ship &s);
void moveShips();
//bool attack(const Bomb &b);
void display()const;
void show()const;
void initializeGrid();
private:
int numLines, numColumns;
//vector <Ship> ships;
vector <vector<int> > board;
};
和我的播放器類
class Player{
public:
Player(string playerName, string boardFileName);
void showBoard() const;
//Bomb getBomb() const;
//void attackBoard(const Bomb &b);
private:
string name;
Board board;
};
,我想通過一個txt(尚未完成)讀他的尺寸創建板。
但是,當我這樣做:
Player::Player(string playerName, string boardFileName){
name = playerName;
board = boardFileName;
}
這
void Player::showBoard() const{
Board b01;
}
我得到以下錯誤:
呼叫沒有匹配功能的「公告板::董事會()
但是,該構造函數是在項目中實現的「函數」之一。 Board(const string&filename); //從文件'filename'加載板子 如何使用它在函數showBoard上打印我的板子? – Verance
@ user2074085,當然,也要定義它,但是如果你定義了這個構造函數,你需要創建一個空的構造函數來聲明像Board b01這樣的對象。 –
好的,可以說我只會使用Board(常量字符串和文件名);構造函數。是否可以通過指定文件名來創建Board類型的對象? 文件名獲得了關於我想要製作的主板的所有信息。 例如: random.txt: 董事會10x10 它將讀取10每10和製作一個董事會。我不知道如果我清楚 – Verance