我在C中創建了一個聯繫人鏈接列表。它工作正常。但現在我想寫一個指定聯繫人的刪除功能(按名稱)我得到Error:"dereferencing pointer to incomplete type"
。這裏是我的代碼:(儘管定義結構接觸)C:解除指向不完整類型錯誤的指針
struct contact
{
char name[100];
char number[20];
struct contact *next;
};
int deleteByName(struct contact **hptr, char *name)
{
struct student *prev = NULL;
struct student *temp = *hptr;
while (strcmp(temp->name /*The Error is Here*/ , name) != 0 && (temp->next) != NULL)
{
prev = temp;
temp = temp->next;
}
if (strcmp(temp->name, name) == 0)
{
if (prev == NULL)
*hptr = temp->next;
else
prev->next = temp->next;
free(temp);
return 0;
}
printf("\nNAME '%s' WAS NOT FOUND TO BE DELETED.", name);
return -1;
}
我想知道爲什麼我得到這個錯誤。謝謝。
可能因爲你定義了'struct contact',但'temp'被定義爲一個指向'struct student'的指針。 – yeputons
你好,歡迎來到StackOverflow!可悲的是,你沒有提供足夠的代碼來幫助你正確地解決你的問題。請閱讀[問]並用[mcve]更新您的問題。 –