gpt4 book ai didi

c++ - 断言错误,使用 STL vector

转载 作者:行者123 更新时间:2023-11-28 03:07:10 25 4
gpt4 key购买 nike

for(myIterator = numbers.begin();myIterator != numbers.end() ;myIterator++)
{
resultVect.push_back(*myIterator+2);

numbers.erase(myIterator+2);

}

数字由一系列数字组成(例如 1,2,3,4,5,6,7)然后我想删除每 3 个数字。类似的东西,

1 2 3 4 5 6(第一轮 -> 3 出局)

1 2 4 5 6(第二轮 -> 6 出局)

1 2 4 5(第三轮 -> 4 出局)

等等。

我会将输出的数字存储在另一个 vector (resultVect) 中。

我收到断言错误。请告知 tq

最佳答案

当您对 vector 使用 erase 时,它将重新定位删除位置之后的元素,因此之后的迭代器将失效。

其次,当您说 iterator + 2 时,这也可能超出 vector 的范围。

关于c++ - 断言错误,使用 STL vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19407067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com