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

时间:2017-12-30 15:12:35

标签: c++ class constructor

我正在尝试在我的构造函数中初始化一个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'[-fpermissive]

初始化这个的其他方法吗?

1 个答案:

答案 0 :(得分:0)

您正在尝试将字符串文字(const char *)分配给char数组元素。将双引号更改为单引号以指示这是一个char而不是字符串文字(由char char *表示的以null结尾的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
            }
        }
    }