可能重複:
Why does C++ require a cast for malloc() but C doesn’t?指針用C對C++
此特定的碼片運行用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]
任何想法可能是什麼原因呢?
您可以指定哪些C和C++編譯器使用? –
C++是強類型的... – 2012-11-05 06:22:31