C++ 将字符串插入二维向量的指定位置
所以我要做的就是在向量中插入一个字符串C++ 将字符串插入二维向量的指定位置,c++,vector,C++,Vector,所以我要做的就是在向量中插入一个字符串 class World { public: void writeCell(int writelocW, int writelocH, std::string input); private: std::vector<std::string> wH; std::vector< std::vector<std::string> > grid; }; void Worl
class World
{
public:
void writeCell(int writelocW, int writelocH, std::string input);
private:
std::vector<std::string> wH;
std::vector< std::vector<std::string> > grid;
};
void World::writeCell(int writelocW, int writelocH, std::string input)
{
wH.insert(wH.begin()+writelocH,1,input);
grid.insert(grid.begin()+writelocW,1,wH);
}
阶级世界
{
公众:
void writeCell(int writelocW、int writelocH、std::string input);
私人:
std::向量wH;
标准向量<标准向量>网格;
};
void World::writeCell(int-writelocW、int-writelocH、std::string输入)
{
插入(wH.begin()+writelocH,1,输入);
grid.insert(grid.begin()+writelocW,1,wH);
}
从另一个标头读取writeCell
的参数
但是当我运行该文件时,它给了我一个错误“向量迭代器+偏移量超出范围”
将
writelocW
和writelocH
都设置为1并输入到“Desc”
。该错误似乎是由插入的部分的“+writelocH”
调用的。如何修复此问题?在插入到随机位置之前检查向量大小。如果向量大小小于writelocH
,则会出现“超出范围”异常:
替换
wH.insert(wH.begin()+writelocH,1,input);
grid.insert(grid.begin()+writelocW,1,wH);
与:
在插入到随机位置之前检查向量大小。如果向量大小小于writelocH,则会出现“超出范围”异常: 替换
wH.insert(wH.begin()+writelocH,1,input);
grid.insert(grid.begin()+writelocW,1,wH);
与:
啊,我太盲目了,我想可能是“writelocH”是个整数的问题,但是。。。。非常感谢你!啊,我太盲目了,我想可能是“writelocH”是个整数的问题,但是。。。。非常感谢你!