我與動態數組合作鑄件,這是聲明:警告:賦值時將指針整數,未在陣列
int *vetor = (int *) malloc (tam*sizeof(int));
vetorAleatorio (vetor, tam); //chamando função abaixo
但是當我試圖把它作爲參數給這個函數:
void vetorAleatorio(int **vet, int size) {
int i;
for (i=0; i<size; i++)
vet[i] = rand() %1000;}
我有以下錯誤:
[Warning] assignment makes pointer from integer without a cast
[Warning] passing arg 1 of `vetorAleatorio' from incompatible pointer type
有人知道這是怎麼發生的?
這只是一個註釋,但是避免在C中使用malloc [source](http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc/605858#605858) – CBIII
通常情況下,如果要在函數內分配並在函數外部使用它,則有一個雙指針參數(** vet)。 int * vetor = Null; vetorAlea(&vetor,tam); //在函數中分配.... – Jiminion
但是你必須在C++ Source中輸入malloc .....(嘆氣...) – Jiminion