簡體   English   中英

列表迭代器不可取消

[英]List Iterator not dereferencable

我一直在尋找與迭代器相同的問題; 我發現很多主題幾乎相同的標題,也有類似的問題,但是我的主題略有不同。

我正在嘗試將* iterator放置在特定位置,但出現錯誤:“在運行時不可列出列表迭代器”,這是我的代碼:

 CompetidorFormula2000* retornarCompetidorF2000(int pos){
        list<Competidor*>::iterator itr=miLista.begin();
        CompetidorFormula2000* f1=new CompetidorFormula2000(); 

        if(pos>0 && pos<=miLista.size()){
            advance(itr,pos);

        }
        f1=(CompetidorFormula2000*) (*itr);
        return f1;
        delete f1;
    }

如果pos等於miLista.size()那么您將獲得一個迭代器到列表的末尾,即調用miLista.end()時獲得的迭代器。 列表末尾的迭代器不可取消引用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM