CPPUTEST удаление памяти

У меня есть код, как показано ниже:

char* Add()
{
    p = new char[10];
    return p;
}

и я использую CPPUTEST с тестовым кодом, как показано ниже:

TEST(MyTestGroup, TestAdd_1)
{
    p = Add(); // the above function
    delete p;
}

Но ошибка такова: "Несоответствие типа распределения / освобождения"

Я не знаю почему, пожалуйста, помогите. Заранее спасибо!

1 ответ

Но ошибка такова: "Несоответствие типа распределения / освобождения"

Это потому, что вы выделяете массив, но освобождаете один объект.

TEST(MyTestGroup, TestAdd_1)
{
    p = Add(); // the above function
    delete[] p; // <--- Use correct delete for arrays
}
Другие вопросы по тегам