プロジェクトで 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 << "> ";
}
これは機能しますが、一度に 1 つの構造体を取得したいので、この func を作成しました
mystruct Myclass::next(void)
{
if(lit!=L.end())
{
lit++;
}
return *lit;
}
しかし、実行後にエラーが発生し、なぜこれが起こるのか理解できません。
何がうまくいかないのですか?