使用向量迭代器时出现运行时错误
我在使用以下代码时遇到问题:
for(int j = 0; j < ensembleTemp.size(); j++)
{
ensemble[ensembleTemp[j]].clear();
ensemble[ensembleTemp[j]].insert(ensemble[j].begin(),
ensembleTemp.begin(), ensembleTemp.end());
}
ensembleTemp 是一个 vector
并且ensemble是一个vector
。我有以下内容,
错误:向量插入迭代器超出范围。
我有什么错?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您对插入的第一个参数使用了错误的索引,它(大概)应该是要
插入的第一个参数应该是要插入的向量的迭代器。
此外,对于所有 j,ensemble.size() 必须大于 ensembleTemp[j]。
You're using the wrong index for the first parameter of insert, it (presumably) should be
The first parameter to insert should be an iterator for the vector being inserted into.
In addition ensemble.size() must be greater than ensembleTemp[j] for all j.
您确定 ensemble.size() 大于 'j' 吗?并且大于 ensembleTemp[j]?
Are you sure ensemble.size() is greater than 'j'? and greater than ensembleTemp[j]?