私は構造を持っています:
typedef struct
{
char *ptr;
} A;
そして地図
typedef std::map<std::wstring, A> myMap;
マップを埋めている間、mallocを使用してptrフィールドにメモリを割り当てました。マップをクリアする際のメモリリークを防ぐために、次のコードがあります(actualMapは、クリアする必要のある実際のマップです)。
for (myMap::iterator iter = actualMap.begin(); iter != actualMap.end(); ++iter)
{
Free((iter->second).ptr);
}
actualMap.clear();
ただし、アプリケーションを正常に起動すると、Freeの実行中に例外が発生します。VS2010を介してアプリケーションを直接起動した場合、この例外は生成されません。私は何かを逃したことがありますか?
ありがとう。