Я пытаюсь написать код, который будет алфавитными строками в связанном списке. Вот что я написал:C++ «list iterator not dereferenceable» error
void main() {
list<string> myList;
list<string>::iterator pos;
string newData;
myList.push_back("Anna");
pos = myList.begin();
for (int i = 0; i < 5; i++){
cin >> newData;
while(newData > *pos)
pos++;
myList.insert(pos, newData);
}
system("pause");
}
Этот код компилируется нормально, но я получаю сообщение об ошибке, что список итератор не разыменовываемое, когда я запускаю его.
Я очень новый со связанными списками и итераторами, поэтому я действительно не знаю, как это исправить. Любая помощь будет принята с благодарностью!
В дополнение к ответам, не мешало бы, чтобы переключить ' pos ++ 'к менее расточительному' ++ pos'. –