これは重複した質問のように見えるかもしれませんが、そうではありません。関数に問題があり、なぜそのように動作するのかわかりません。
タイプ MyMaterial** (std::vector) の要素を保持するベクトルがあります。プログラムのある時点で、"currentElement" という要素を認識し、それを削除したいと思うでしょう。
私はこれをやってみました:
myMaterials.erase(currentElement);
しかし、ここに問題があります。「currentElement」を削除するだけでなく、その後に追加されたすべての要素も削除します。なぜそれが行われ、どうすれば解決できますか?
ベクトル内の「currentElement」の位置がわからないので、検索したくありません。別の方法があることを願っています。