C++のリスト操作に問題があります。私はこの言語の初心者です。リストイテレーションsegfaultをリストする
だから、私はそのように作成したリストを持っている:私はサムスオブジェクトを構築
list<Auction> MyAucList;
と私はリストに入れて:
今Auction test(a, i); // a and i are int
MyAucList.push_back(test); // I put my objects in the list
、同じ機能で、私は繰り返すことができリストからオブジェクトのデータを次のように取得します。
for (list<Auction>::const_iterator it1 = MyAucList.begin(); it1 != MyAucList.end(); ++it1)
{
if ((*it1).Getitem() == 118632)
cout << "FOUND !" << endl;
}
これは期待どおりに機能します。
しかし、私はantoher関数リストを参照渡す場合:
listHandling(MyAucList);
}
void listHandling(list<Auction> &MyAucList)
{
for (list<Auction>::const_iterator it1 = MyAucList.begin(); it1 != MyAucList.end(); ++it1)
{
if ((*it1).Getitem() == 118632)
cout << "FOUND : " << 118632 << endl;
}
}
を私は参照を使用しない、またはポインタが、同じ結果と試み :-(セグメンテーション違反を得る 。あなたはこの問題についての考えを持っていますか?あなたの助けを
ありがとう!
もう1つは、あなたの関数に 'MyAucList'がありません。パラメータはMyListです。 「MyAucList」はどこから来たの?実際の* [MCVE](https://stackoverflow.com/help/mcve)を投稿してください。 – WhozCraig
@WhozCraig:申し訳ありませんが、投稿の編集中に間違いを犯しました。編集します。 – LightMan
偉大な、今、そのコメントの2番目の部分に留意してください。私の哀れな安いガラスの模造水晶球は、「オークション」が[ルールの3つ](https://en.wikipedia.org/wiki/Rule_of_three_(C%2B%2B_programming))を破っているが、[** MCVE **](https://stackoverflow.com/help/mcve)それは確かに知ることは不可能です。私たちは読者ではありません。 *デバッガ*でこれを実行すると、車輪が落ちた場所を正確に伝えることができます。 – WhozCraig