我有一个结构complex
和一个结构complex_set
(一组复数),我有“构造函数”和“析构函数”函数alloc_set
和free_set
我的问题是,我在free_set
的for循环的第二次迭代中收到以下错误:
malloc: *** error for object 0x1001054f0: pointer being freed was not allocated
取消初始化complex_set
的正确方法是什么?我想知道*points
的{{1}}属性是否只需要通过在第一个点上调用complex_set
来释放(然后它将释放其余的)或者分别释放每个元素?或者我在初始化时已经做错了什么?
以下是代码:
free
答案 0 :(得分:4)
malloc()
你只为set->points
做了一次free()
,所以你应该只做一次 Thread myThread = new Thread(new Runnable() {
@Override
public void run() {
// Perform your loading here
// Once the loading is complete, notify the main thread
}
});
myThread.start();
。
你试图释放每一点。
答案 1 :(得分:1)
这很简单:
free(set->points);