在链表上取消引用指向不完整类型的指针

时间:2014-06-19 11:54:10

标签: c

我收到错误"取消引用指向不完整类型的指针"而且我不知道为什么。 我看到其他很多帖子,但我没有找到错误所以请帮助我:) 这是我的结构:

typedef struct _linkedList{
    int info;
    int cont;
    struct _linkedlist* next;
    struct _linkedList* prew;
} linkedList;

这是我得到错误的位置:

linkedList* p;
int pos = 0;
while(pre->prew->cont < pre->cont && pre->prew != NULL){
     p = pre->prew;
     if(p->prew != *head){
          p->prew->next = pre;
          pre->prew = p->prew;
          p->next = pre->next;
          p->prew = pre;
          pre->next->prew = p; //error
          pre->next = p;
          pos++;
     }else{
          p->next = pre->next;
          pre->next->prew = p; //error
          pre->next = p;
          p->prew = pre;
          *head = pre;
     }
}

变量&#34; pre&#34;是列表的负责人。以及编译器为什么不给我一个错误:

p->prew->next = pre;

谢谢:)

2 个答案:

答案 0 :(得分:1)

next的结构名称中有拼写错误,而_linkedlist代替_linkedList

struct _linkedlist* next;
struct _linkedList* prew;

答案 1 :(得分:0)

结构和实际功能的定义是否在不同的文件中?通常,此错误意味着编译器不知道您正在进行defrefencing的指针类型。