gpt4 book ai didi

c - 错误 : dereferencing pointer to incomplete type -CodeBlocks

转载 作者:太空宇宙 更新时间:2023-11-04 07:19:32 25 4
gpt4 key购买 nike

我的代码有一些错误,但我仍然不明白为什么它不起作用。

我有以下代码片段:

void insertBefore(List *lista, Node **node, Node *newNode)
{
newNode->prev = (*node)->prev;
newNode->next = (*node);
if((*node)->prev == 0)
lista->first = newNode;
else
(*node)->prev->next = newNode;
(*node)->prev = newNode;
}

我称它为:
insertBefore(lista,lista->first, newNode);

错误是:

error: dereferencing pointer to incomplete type

我尝试过并有效的方法(没有错误,但在调试时崩溃):

void insertBefore(List *lista, Node **node, Node *newNode)
{
Node *anotherNode = (*node)->prev;
newNode->prev = (*node)->prev;
newNode->next = (*node);
if((*node)->prev == 0)
lista->first = newNode;
else
anotherNode->next = newNode;
(*node)->prev = newNode;
}

以下是我使用的结构:

typedef struct NodeT
{
struct nodeT *prev;
struct nodeT *next;
int key;
}Node;
typedef struct ListT
{
Node *first;
Node *last;
Node *current;
}List;

现在,我的问题是:编译器解析的时候有没有问题?我真的想不通。

最佳答案

注意大小写!

typedef struct NodeT      /* uppercase N */
{
struct nodeT *prev; /* lowercase N */

NodeTnodeT 是不同的标识符

关于c - 错误 : dereferencing pointer to incomplete type -CodeBlocks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22351005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com