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*指针隐式转换为任何其他指针类型。

链接地址: http://www.djcxy.com/p/28467.html

上一篇: malloc casting error

下一篇: C language: pointer returned by malloc() and casting