詳しくはこちらトピックに返信するユーザー名:メールアドレス:件名:C++言語のヘッダーファイルの拡張子をいずれか一つ答えよ(半角):答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。返信ありがとうございます。sortの件、ありがとうございました。すべての文をコメントアウトした状態でも同様のエラーが発生したため、前の投稿には記述しておりませんでしたが、FieldとFrame内のコードということでしたので、以下に記します。情報を小出しにされても、問題の解決には程遠いように思います。すべての文をコメントアウトした状態でも同様のエラーが発生するのなら、ソースは短くなるはずです。それ全体を貼り付けることはできないでしょうか?「論よりソース」です。情報を小出しにされても、問題の解決には程遠いように思います。すべての文をコメントアウトした状態でも同様のエラーが発生するのなら、ソースは短くなるはずです。それ全体を貼り付けることはできないでしょうか?「論よりソース」です。2年前あれから何度か試行錯誤して分かったことがあります。決まってobj[2]が破壊されるという事です(確定というわけではなく、他が確認できていない状態です)。priorityを変更してFieldクラスが先頭に並ぶようにしても同様の結果になりました。この時sortをしているかどうかにもかかわらず、破壊される要素は同じ場所です。その時のデータが以下のようになっていました。[make_shared]xの値は正常ですが、yとpriorityの値が破壊されていることが分かりました。あれから何度か試行錯誤して分かったことがあります。決まってobj[2]が破壊されるという事です(確定というわけではなく、他が確認できていない状態です)。priorityを変更してFieldクラスが先頭に並ぶようにしても同様の結果になりました。この時sortをしているかどうかにもかかわらず、破壊される要素は同じ場所です。その時のデータが以下のようになっていました。[make_shared]xの値は正常ですが、yとpriorityの値が破壊されていることが分かりました。先ほど試したのですが、FieldクラスとGameSceneクラスのshared_ptrをunique_ptrに変更したところ、今のところエラーは置きなくなりました。どこかで予期せぬ参照が発生し、インスタンスが正しく破棄されていなかったのでしょうか。一応このままunique_ptrを使ってコーディングしていきますが、エラーが完全になくなったわけではないのと納得のいく原因がわかっていないので解決済みにはせず、皆様のご意見をお伺いしたいと思います。先ほど試したのですが、FieldクラスとGameSceneクラスのshared_ptrをunique_ptrに変更したところ、今のところエラーは置きなくなりました。どこかで予期せぬ参照が発生し、インスタンスが正しく破棄されていなかったのでしょうか。一応このままunique_ptrを使ってコーディングしていきますが、エラーが完全になくなったわけではないのと納得のいく原因がわかっていないので解決済みにはせず、皆様のご意見をお伺いしたいと思います。返信ありがとうございます。sortの件、ありがとうございました。すべての文をコメントアウトした状態でも同様のエラーが発生したため、前の投稿には記述しておりませんでしたが、FieldとFrame内のコードということでしたので、以下に記します。フィールド内のオブジェクト(プレイヤーや弾など)を描画obj[i]->Draw();}}返信ありがとうございます。sortの件、ありがとうございました。すべての文をコメントアウトした状態でも同様のエラーが発生したため、前の投稿には記述しておりませんでしたが、FieldとFrame内のコードということでしたので、以下に記します。外部関数にしてしまってもいいでしょう。});外部関数を用意したら、ラムダ式は不要でした。id=3,19994,149946]外部関数にしてしまってもいいでしょう。});[/code][/quote]外部関数を用意したら、ラムダ式は不要でした。このようなコードを実行すると、数回は成功するのですが、途中で以下のような例外が発生します。最初の数回は期待通りの実行結果が得られるので、関数自体にアクセスすることは可能なのですが、その後アクセスできなくなっているようです。原因がわかる方、どなたかご教授いただければ幸いです。どんなふうに破壊されているのかが分かりません。間違っていることです。ポインタの大小でソートされます。定義していますが、それは使われません。メンバ関数というのは変ですよね。メンバ関数は、メンバ変数を参照したり変更するためにあります。