我在使用 C 语言时遇到了这个问题。
我有以下声明。
int *a;
a=malloc(100);
我收到以下错误:
error: invalid conversion from 'void*' to 'int*' [-fpermissive]
对此有任何提示吗?
最佳答案
您正在将代码编译为 C++,其中您使用的代码无效。但对于 C 来说,它是有效的,你 should not add any cast .
但请注意,malloc()
的参数位于 char
中,因此“100”有点随机。如果您想要 100 个整数,请执行以下操作:
a = malloc(100 * sizeof *a);
关于c++ - malloc 分配给指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13843415/