【发布时间】:2021-12-16 05:15:25
【问题描述】:
我有一个二维的字符串向量。它已经有一些数据——一般来说,所有行(应该)都有相同的列数。
我希望通过将列数增加 1 来调整矩阵大小。
std::vector<std::vector<std::string>> completeMatrix;
matrixRowNum = completeMatrix.size();
matrixColumnNum = completeMatrix[0].size();
completeMatrix.resize(matrixRowNum, std::vector<std::string>(matrixColumnNum + 1)); //My attempt to resize by 1. Same result if I try 20.
completeMatrix[0][matrixColumnNum] = "inputString"; //getting subscript out of range error here.
completeMatrix[0][matrixColumnNum-1] = "inputString"; //however this works fine. it's like I never called resize.
我错过了什么? (如果有比向量更好的方法来做到这一点,我也会接受这些方面的任何建议)。
(如果有帮助,我在 Windows 10 上使用 Visual Studio 2019)。
【问题讨论】:
-
您是否尝试调试代码?提示:调整大小不会预先设置所需的值。
-
你认为
matrixRowNum包含什么价值? -
matrixRowNum包含我希望看到的值(在我的特定情况下为 198)。
标签: c++