#include <iostream>
func(void *ptr)
{
*ptr = NULL;
}
int main()
{
void *ptr = (int*)malloc(sizeof(int));
func(ptr);
return 0;
}
有人可以帮我解决这个问题。我想为此指针指定NULL。不要在Main()中进行任何更改。
答案 0 :(得分:2)
指针按值传递。因此,将func(void *ptr)
更改为func(void **ptr)
并传入func(&ptr)
答案 1 :(得分:0)
使用ptr = NULL;
并且不会强制转换malloc
。
答案 2 :(得分:0)
Just Dont cast,因为C malloc默认返回void指针。然后该程序应该很好运行