我使用2D动态数组,我不知道如何修复错误,请帮助我!我想从用户那里得到一个字符串并将其分成一些字符串并将它们放入2d动态数组中。 它是我分配数组的代码部分。
int colCount,rowCount;
string** table = new string*[rowCount];
for(int i = 0; i < rowCount; ++i)
{
table[i] = new string[colCount];
}
答案 0 :(得分:2)
您的代码未初始化colCount
和rowCount
,因此它们的值是垃圾。您尝试使用未初始化的变量动态分配内存,当然,这会调用 Undefined Behavior 。
初始化变量,例如:
int colCount = 5, rowCount = 5;
PS:由于这是C ++,我建议您使用std::vector
作为2D数组,例如:
std::vector<std::vector<std::string>> table;