string ** array;数组上的段错误[row] [col] =“string”; C ++

时间:2014-03-08 22:53:11

标签: c++ arrays string

对于赋值,我必须创建一个字符串**数组并进行操作。指南说您可以按如下方式创建字符串,然后按如下方式进行分配。

代码:

string **diceArray;    

diceArray[0][0] = "t";
diceArray[0][1] = "e";
diceArray[0][2] = "l";
diceArray[0][3] = "l";

我也试过下面的代码来分配,但这也失败了

string ** diceArray;
diceArray = new string*[rows];
for(unsigned int i = 0; i<rows; i++){
   diceArray[rows] = new string[cols];
}

1 个答案:

答案 0 :(得分:0)

您已参考内存(内存指针),您需要为该数据预留空间。
如果您将拥有相同大小的字符串缓冲区,则可以创建变量

string diceArray[1][4];  

或者如果你需要动态字符串的动态大小,你可以使用这样的东西。

string **str = new string*[x];
for (int i=0; i<x; i++)
str[i] = new string[y];