質問がありますが、どこにも答えがありません。ただし、表示する必要があるコードがいくつかあります。
#include "Vector2D"
class something
{
Vector2D * p_Position;
public:
something(){p_Position = new Vector2D;}
~something(){delete p_Position;}
};
int main()
{
std::list<something> Somethinglist;
Somethinglist.push_back(something());
Somethinglist.clear();
return 0;
}
したがって、これは.clear()
関数に関してはアサーションの失敗につながります。ということで、いろいろ試してみました。まず、デコンストラクタに を入れないだけで、このコードは完全に機能しますdelete p_Position
。何故ですか?STLリスト.clear()
関数は動的ポインタを自動的に破棄しますか? またはかなり直接的な質問: このコードを修正するにはどうすればよいですか?