0
Я новичок в C, и у меня есть утечка памяти в моей программе.Почему утечка памяти в этом коде?
static int MT_reduce(MT_table** MT)
{
MT_table* newMT = new_MT((*MT)->argc);
/// fill data in the newMT ////
if(isReduced == 1 && newMT->size > 0)
{
MT_free(*MT);
*MT = newMT;
}
return isReduced;
}
В другом месте я называю эту процедуру:
while(MT_reduce(&MT)==1);
Я освобождая старые ресурсы перед назначением на MT
адрес newMT
, но почему я получаю утечку памяти? Как я могу заменить MT
на newMT
без утечки памяти?
Ницца! Это решает мою проблему, спасибо! –