这段特定的代码在 C 中运行良好,但在编译为 C++ 程序时会出现编译错误。
#include<stdio.h>
#include<stdlib.h>
int main(){
int (*b)[10];
b = calloc(20, sizeof(int));
return 0;
}
C++编译的错误是:
test.cpp: In function ‘int main()’:
test.cpp:9:28: error: invalid conversion from ‘void*’ to ‘int (*)[10]’ [-fpermissive]
知道可能是什么原因吗?