我在初始化一个空数组时遇到了一些麻烦,或者我在类里面这样调用它。基本上我想用 0 填充一个二维数组。
这是我的代码:
板.cpp
#include "Board.h"
#include <string>
#include <iostream>
#include "Player.h"
using namespace std;
Board::Board()
: _board{ { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }
{
}
void Board::drawBoard()
{
for (int i = 0; i < 4; i++){
for (int j = 0; j < 4; j++){
if (i == 0 && j == 0){
cout << " ";
}
else if (i == 0){
cout << " " << j << " ";
}
else if (j == 0){
cout << i;
}
else {
if (_board[i][j] == 0)
cout << "| " << "|";
else
cout << "|" << _board[i][j] << "|";
}
}
cout << endl;
}
}
void Board::playerInput(char input)
{
}
这是 Board.h:
#pragma once
#include <string>
#include <iostream>
class Board
{
public:
Board();
void drawBoard();
void playerInput(char input);
private:
char _board[3][3];
char _input;
};
这是初始化数组的正确方法吗?我读了一些文章,但它让我更加困惑。 如果我听起来很愚蠢,我很抱歉。但我需要你的帮助。 谢谢。
最佳答案
您需要做的就是值初始化数据成员:
Board::Board() : _board() {}
这将对 _board
的所有元素进行零初始化,并且也适用于 C++03。
关于C++ - 在类上初始化一个空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25589256/