如何在 c++ 中初始化构造函数中的二维数组



我正在尝试在我的构造函数中初始化一个 2D 矩阵,我将根据我的要求进一步更改该矩阵。

class Player{
string pName;
char playerBoard[ROW][COL];
public:
    Player(string name){
        this->pName=name;
        for(int i=0;i<ROW;i++){
            for(int j=0;j<COL;j++){
                this->playerBoard[i][j] = ".";
            }
        }
    }

但是我收到以下错误

[错误] 从"常量字符*"到"字符"的转换无效 [-允许]

有什么替代方法可以初始化它吗?

您正在尝试将字符串文字(const char*(分配给char数组元素。将双引号更改为单引号,以指示这是一个字符而不是字符串文本(由常量字符*表示的以空结尾的 C 字符串(。

class Player{
string pName;
char playerBoard[ROW][COL];
public:
    Player(string name){
        this->pName=name;
        for(int i=0;i<ROW;i++){
            for(int j=0;j<COL;j++){
                this->playerBoard[i][j] = '.'; //<-chage this
            }
        }
    }

最新更新