[英]Argument of type 'int' is incompatible with parameter of type 'char'
我正在嘗試使用c ++創建一個簡單的井字游戲,這是一些作業的一部分,但是很難畫圖。 我正在嘗試使用連字號(破折號)來繪制基本板,例如:
- - -
- - -
- - -
但是我收到錯誤消息“ int類型的參數與char類型的參數不兼容”。 有人可以幫我指出正確的方向嗎?
我的代碼如下:
char empty = '-';
int size = 9;
int width = 3;
void showBoard(char board[]);
void showBoard(char board[])
{
for (int i = 0; i < size; i++)
{
for (int j = 0; j < width; j++)
{
board[i] = empty;
cout << board << endl;
}
cout << endl;
}
}
int main()
{
showBoard(10);
}
您的函數期望使用char[]
,但是您正在傳遞int
。 這些類型顯然不兼容。
但是,這應該兼容:
char board[] = "123456789";
showBoard(board);
您應該考慮將showBoard函數分成兩個例程:initializeBoard和showBoard。
您的initializeBoard例程應如下所示:
void initializeBoard(char board[])
{
for (int i = 0; i < size; i++)
{
board[i] = empty;
}
}
showBoard例程是:
void showBoard(char board[])
{
for (int i = 0; i < size/width; i++)
{
for (int j = 0; j < width; j++)
{
cout << board[i*width +j] << ' ';
}
cout << endl;
}
}
最后,您像這樣設置頂部:
char board[9];
initializeBoard(board);
showBoard(board);
您可能希望使用char tiles[] = "---------"; showBoard(tiles);
char tiles[] = "---------"; showBoard(tiles);
而不是showBoard(10)
。
也,
board[i] = empty;
被showBoard()
。 它應該在其他地方(例如,創建另一個函數)。 否則, showBoard()
會變showBoard()
載,並使那些會閱讀代碼的人感到困惑。 更好的是,考慮帶有show()
方法的Board
類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.