gpt4 book ai didi

C++ vector 不更新

转载 作者:行者123 更新时间:2023-11-28 03:33:24 26 4
gpt4 key购买 nike

void sortVector(vector<simEvent>& eventVector){

simEvent temp = eventVector.at(0);
vector<simEvent> tempVector;
tempVector.clear();
int index = 0;

while(!eventVector.empty()){
for(int i=0; i<eventVector.size(); i++){
if(temp.getTimeOfEvent() > eventVector.at(i).getTimeOfEvent()){
temp = eventVector.at(i);
index = i;
}
}
eventVector.erase(eventVector.begin()+index);
tempVector.push_back(temp);
}

for(int i=0; i<tempVector.size(); i++){
cout << "Time: " << tempVector.at(i).getTimeOfEvent() << endl;
}

}

当我打印 tempVector 时,所有时间都是相同的。我到处寻找这个问题的答案,但似乎找不到任何东西。有人可以看看这个吗?

最佳答案

您永远不会在循环中重置 temp 的值。第一次通过后它等于数组中最大的元素;在随后的每一次传递中,它仍然是最大的,所以它不会改变。

关于C++ vector 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11907062/

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