我正在尝试为井字游戏制作一个棋盘对象,但无法解决此错误。
class Board {
public:
void reset() {
board[3][3] = {
{" ", " ", " "},
{" ", " ", " "},
{" ", " ", " "}
};
};
private:
std::string board[3][3];
Board() {
reset();
};
};
我尝试将变量类型从 std::string 切换为 char 但它引发了一个不同的错误,这也没有意义
reset()
我认为你的课堂方法可能有问题Board
。board
它试图使用运算符更改成员变量(类型为String[][]
)的值,=
这是不可能的,因为数组在 C++ 中不可分配。我发现此问题有两个修复方法:
我将使用的修复方法(如果您想保持代码的相同氛围)是循环遍历板上的每个值并单独设置字符串,如下所示
" "
:将类更改为如下所示:
但是,如果您正在寻找更现代的东西,我建议使用 C++
std::array
而不是原始数组。利用std::array
可以访问内置fill()
方法(即std::array::fill
)来初始化数组,如下所示:<<已更正>>