簡體   English   中英

賦值使 integer 從沒有強制轉換的指針 [-Wint-conversion] 在 C

[英]Assignment makes integer from pointer without a cast [-Wint-conversion] in C

我想將文件中的數據讀入二維數組,但在(array[i][j] = #)行中出現此問題

void readmatrix(int **array,FILE * f,int row,int col){
    for(int i=0 ;i<row ;i++){
        for(int j=0 ;j<col;j++){
            int* num = NULL;
            fscanf(f, "%d",num);
            array[i][j] =  &num ;
        }
    }
}

您正在將 int 指針的指針傳遞給 function 並將 num 指針的地址保存到數組中。 下面將在調用 function 之前將數組轉換為 (int *)。

void readmatrix(int *array,FILE * f,int row,int col){
    for(int i = 0; i < row * col; i++){
        int num;
        fscanf(f, "%d", &num);
        *(array + i) =  num ;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM