空指针错误

时间:2013-11-21 10:36:21

标签: c++ c void-pointers

#include <iostream>

func(void *ptr)
{
 *ptr = NULL;          
}

int main()
{
 void *ptr = (int*)malloc(sizeof(int));   
 func(ptr);
 return 0;   
}

有人可以帮我解决这个问题。我想为此指针指定NULL。不要在Main()中进行任何更改。

3 个答案:

答案 0 :(得分:2)

指针按值传递。因此,将func(void *ptr)更改为func(void **ptr)并传入func(&ptr)

答案 1 :(得分:0)

使用ptr = NULL;并且不会强制转换malloc

答案 2 :(得分:0)

Just Dont cast,因为C malloc默认返回void指针。然后该程序应该很好运行