我有一個主文件的問題。我有一個結構矩陣(理論上),我想修改所有結構中的所有「p」參數。 這是主要的文件:C取消指向不完整類型指針的錯誤
int main(int argc, char** argv) {
int i, j;
struct PQ *queue;
queue = createQ(5);
for (i = 0; i <= 5; i++) {
for (j = 0; j = 20; j++);
queue->mem[i][j].p = 1;
}
for (i = 0; i <= 5; i++) {
puts("\n");
for (j = 0; j <= 20; j++);
printf("%d ",queue ->mem[i][j].p);
}
return (EXIT_SUCCESS);
}
這是包含結構definiton並生成功能的其它文件:
typedef struct newLine{
unsigned p;
} newLine;
struct PQ{
struct newLine ** mem;
};
struct PQ *createQ(unsigned min){
int i=0;
struct PQ *newQ = malloc(sizeof(PQ));
newQ->mem = malloc(min*sizeof(newLine *));
for(i=0;i<=min;i++){
newQ->mem[i]=calloc(20,sizeof(newLine));
}
return newQ;
}
任何想法?
能否請您提供一個[MCVE](https://stackoverflow.com/help/mcve)以及您的編譯器/鏈接器輸出顯示th e您在問題標題中發佈的錯誤消息?它將顯着幫助我們。謝謝。 – DevNull
main.c:函數'main'中: main.c:13:14:錯誤:解除指向不完整類型的指針 queue-> mem [i] [j] - > p = 1; ^ main.c:19:28:錯誤:解除指向不完整類型的指針 printf(「%d」,queue - > mem [i] [j] - > p); –
'queue-> mem [i] [j] - > p' - >'queue-> mem [i] [j] .p'也是for(int i = 0; i = min; i ++){' :'我= min'是錯誤的。 – BLUEPIXY