【问题标题】:CPPUTEST memory deletionCPPUTEST 内存删除
【发布时间】:2015-12-12 12:24:26
【问题描述】:

我的代码如下:

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

我使用 CPPUTEST 和下面的测试代码:

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

但错误是:“Allocation/deallocation type mismatch”

我不知道为什么,请帮忙。 提前致谢!

【问题讨论】:

  • 这是哪种编程语言? (如何)p 被声明了?

标签: c++ unit-testing cpputest


【解决方案1】:

但错误是:“Allocation/deallocation type mismatch”

那是因为你分配了一个数组,但释放了一个对象。

TEST(MyTestGroup, TestAdd_1)
{
    p = Add(); // the above function
    delete[] p; // <--- Use correct delete for arrays
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-23
    • 2011-01-23
    • 1970-01-01
    • 2017-05-12
    • 1970-01-01
    • 2015-11-01
    • 2020-03-22
    • 1970-01-01
    相关资源
    最近更新 更多