gpt4 book ai didi

c - 类中说明的简单 C 代码不起作用(typedef 相关)

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

以下代码无法在 Eclipse 中编译:

typedef int Data;
typedef struct node* Node;
typedef struct node {
Data data;
Node next;
};

int main() {
Node n = newNode();
return 0;
}

Node newNode() {
Node newNod;
newNod = malloc(sizeof(struct node));
if(!newNod){
return NULL;
printf("\naa");
}
newNod->data = 3;
return newNod;
}

编译时显示的一个错误是

error: conflicting types for 'newNode'* (line with newNode() method declaration "Node newNode() {").

我是无知的。怎么了?

最佳答案

newNode 的定义移到 main 上方 [或在 main 上方添加 newNode 的前向声明]。

在您的代码中,当编译器发现 main 中对 newNode 的调用时,它使用的是隐式声明。遇到实际定义时,与那个不匹配

关于c - 类中说明的简单 C 代码不起作用(typedef 相关),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45218985/

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