0

我在我的代码中发现了内存泄漏,但我不知道如何修复它。

当我这样循环时:

for (;;)
{
    physx::PxMaterial *pMaterial = pPhysic_physicsSDK->createMaterial(0.5f, 0.5f, 0.5f);
    pMaterial->release();
}

我有内存溢出。内存没有释放。如何正确释放?

我试图删除它“ delete pMaterial”,但没有授予删除权限。

4

1 回答 1

0

你永远不会脱离for循环。除非你打电话,否则它永远不会停止运行break;

for (;;)
{
    physx::PxMaterial *pMaterial = pPhysic_physicsSDK->createMaterial(0.5f, 0.5f, 0.5f);
    pMaterial->release();

    if(**something is satisfied**)
        break;
}

这将停止内存溢出,因为它最终会离开for循环。

于 2014-08-28T13:06:21.347 回答