对于作业,我必须创建一个字符串**数组并进行操作。准则指出,您可以按如下所示创建字符串,然后按如下所示分配它。

码:

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];
}

最佳答案

您需要引用内存(内存指针),并且需要为该数据保留空间。
如果您将始终具有相同大小的字符串缓冲区,则可以创建变量

string diceArray[1][4];


或者,如果您需要带有动态词数的字符串的动态大小,则可以使用类似的方法。

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

09-07 19:09