c - C链表结构中的未知类型名称

标签 c gcc data-structures compiler-errors linked-list

我在头文件中得到了这样的结构:

typedef struct {
    LIGNE *precedent;
    PERSONNE individu;
    LIGNE *suivant;
} LIGNE;
但是当我编译时,出现了这个错误:
error: unknown type name ‘LIGNE’
  LIGNE *precedent;
  ^~~~~
error: unknown type name ‘LIGNE’
  LIGNE *suivant;
我不明白问题出在哪里。

最佳答案

如通讯员和Tomo Ceferin的回答所述,您的编译器直到第5行才知道LIGNE是什么。
一种解决方案是在声明结构之前对它进行typedef:

typedef struct S_LIGNE LIGNE;

struct S_LIGNE {
    LIGNE *precedent;
    PERSONNE individu;
    LIGNE *suivant;
};
这样,您的编译器就会知道LIGNEstruct S_LIGNE的类型定义。

关于c - C链表结构中的未知类型名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65126976/

相关文章:

c - 如何在c中使用另一个变量定义一个变量?

c - 未知数量的用户输入整数

C++ GCC/MinGW 路径 : ssp, ext, tr1;并行、分机、位、实验

c - 链表元素在第 n 个位置插入

c - 为什么这个作业会破坏我的程序?

python - 通过 c (debian) 在终端中运行 python 模块

algorithm - 如何检查双向链表是否在java中正确链接?

c - 程序为什么在循环链表的第一个元素之后插入节点?

c++ - gcc编译的二进制文件大小不同?

c++ - 我的 GUI 表单后面有烦人的空白控制台