我不了解这种工作方式。试图从字符串列表中创建一个字符串数组。我计算列表中字符串的数量,然后想要创建这些字符串的数组。我正在做一些测试,并想出了这段代码:

string *newOrder;

int numNodes;

numNodes = alphaTree.numNodes();

newOrder = new string [numNodes];

newOrder[0] = "This is";
newOrder[1] = "a test";
newOrder[2] = "To see";
newOrder[3] = "If this";
newOrder[4] = "will work";


结果是newOrder的行为就像是一个带有字符串“ This is”的单个字符串数组。
我究竟做错了什么?

最佳答案

检查numNodes = alphaTree.numNodes();返回所需的大小。

以下是正确的代码段,分配5个字符串,然后分配。

newOrder = new string [5];
newOrder[0] = "This is";
newOrder[1] = "a test";
newOrder[2] = "To see";
newOrder[3] = "If this";
newOrder[4] = "will work";


如果执行以下语句:

cout << newOrder[2] << endl;


这将打印:

09-04 07:28