Store pointer to 2d array
本问题已经有最佳答案,请猛点这里访问。
所以我有一个
1 | char **_map; |
然后我尝试将指针数组初始化为二维
1 2 3 4 | std::vector<std::string> contents = StringUtils::split(_mapInfo.getContents(), ' '); const int x = StringUtils::toInt(contents.at(0)); const int y = StringUtils::toInt(contents.at(1)); _map = new char[x][y]; |
基本上,
而这:
1 | Error 2 error C2440: '=' : cannot convert from 'char (*)[1]' to 'char **' |
最后是:
1 | 3 IntelliSense: expression must have a constant value |
最后一个错误引用变量
有人能解释发生了什么以及我如何修复它吗?
二维数组的初始化如下:
1 2 3 4 5 6 7 8 | char **_map; _map = new char*[rowsize]; for(int row = 0; row < rowsize; ++row) { _map[row] = new char[columnsize] } |