C ++运算符重载:未分配正在释放的错误指针

时间:2014-06-15 18:14:01

标签: c++ macos malloc free destructor

我创建了一个Matrix4类,操作完成后我得到一个奇怪的错误。 该错误仅发生在OSX(Apple LLVM版本5.1(clang-503.0.40))而不是 MinGW与gcc 4.8.2。我使用-framework openGL -framework Cocoa


错误:对象0x7fff53d20760的 malloc: 错误:未分配被释放的指针 在malloc_error_break中设置断点以进行调试

Matrix4 a;
Matrix4 b;
Matrix4 c=a*b;

这是班级:

class Matrix4 :public Uniform{
    ...
};

解决方案:

Uniform的析构函数错误:

struct Uniform{
    int uID=0;
public:
    virtual void* getData()=0;
    virtual void uploadUniform()=0;
    virtual ~Uniform(){
        free(&uID);
    }
};

0 个答案:

没有答案