gpt4 book ai didi

c++ - 自定义类函数引起的内存错误

转载 作者:行者123 更新时间:2023-12-02 09:55:27 24 4
gpt4 key购买 nike

我有一个类,带有在指定索引处添加元素的方法。
我正在尝试复制 vector 的最后一个元素,并将每个元素右移一次,以便可以将新元素插入到给定位置。
这是我写的代码:

void Halmaz::add(const int index, const int num) {
elemek.push_back(elemek.back());
for (int i = elemek[elemek.size()-2]; i > index; i--){
elemek[i] = elemek[i-1];
}
elemek[index] = num;
//findMax();
}

这是尝试调用add()函数时遇到的错误:
测试代码:
int main()
{
Halmaz lista;
lista.add(2);
lista.add(3);
lista.add(6);
lista.add(1);
lista.add(3);
lista.print();
cout << endl;
cout << lista.getMax() << endl;;
lista.add(66);
lista.print();
cout << lista.getMax() << endl;;
cout << "---------------------" << endl;
lista.add(2,10); //the program stops here
cout << "---------------------" << endl;
return 0;
}

错误:
 once 00C7CE88 is 201369893

最佳答案

for (int i = elemek[elemek.size()-2]; i > index; i--){

应该
for (int i = elemek.size()-2; i > index; i--){

关于c++ - 自定义类函数引起的内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60523580/

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