0
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는 동일합니다. 나는 이것에 대한 답을 찾기 위해 어디에서나 보았으며 아무 것도 찾을 수없는 것처럼 보였다. 누군가 줄 수 있나요?C++ 벡터 업데이트 안 함
while 루프에서 temp를 재설정하지 않으므로 초기 eventVector에 있던 가장 작은 값으로 유지됩니다. – skirkpatrick