malloc转换错误
大家建议不要在这里分配一个指针时进行投射,我会投出malloc的结果
但是我下面的非铸造代码会在VS-2013中产生编译器错误。 为什么!
#include <stdio.h>
#include <malloc.h>
int main(){
int *ptr = malloc(sizeof(int) * 100); // compiler error
return 0;
}
编译器错误是,
1智能感知:类型“void *”的值不能用于初始化类型为“int *”的实体
另一个问题的建议仅限于C
。
在C++
,您需要强制转换,因为C++
不允许将void*
指针隐式转换为任何其他指针类型。
上一篇: malloc casting error