malloc函数问题,进来瞧瞧啊
今天用VS2008复制了一个MSDN里的例子,竟然出错了,大家来看看有没有道理啊~#include <stdlib.h>
#include <stdio.h>
#include <malloc.h>
void main()
{
char *string;
string=malloc(_MAX_PATH);
if(!string)
printf("Insufficient memory available\n");
else
{
printf("Memory space allocated for path name\n");
free(string);
printf("merery free\n");
}
}
然后编译,出错....
f:\编程\win\malloc\malloc\12.cpp(9) : error C2440: “=”: 无法从“void *”转换为“char *”
1> 从“void*”到指向非“void”的指针的转换要求显式类型转换
只要把程序中string=malloc(_MAX_PATH);改为string=(char *)malloc(_MAX_PATH);就可以编译通过,但是我以前好像不用这样的,
大家看看