我正在尝试在项目中使用 STL 列表,但我遇到了以下问题。
我希望我的列表存储一个结构。比如这个
struct mystruct
{
int x;
int y;
};
然后我使用迭代器来访问列表中的每个结构,就像这样。
list<mystruct> L;
list<mystruct>::iterator lit;
for(lit=L.begin();lit!=L.end();lit++)
{
if(lit->x==1) cout << "<NUM," << lit->x << "> ";
if(lit->y==2) cout << "<ID," << lit->y << "> ";
}
这行得通,但我想一次得到一个结构,所以我做了这个函数
mystruct Myclass::next(void)
{
if(lit!=L.end())
{
lit++;
}
return *lit;
}
但是运行它后我得到一个错误,我不明白为什么会发生这种情况。
任何想法出了什么问题?