小编Mat*_*udy的帖子

C:不完整的返回类型

我试图在C中实现链表,并从这个简单的代码开始:

#include <stdio.h>

struct int_node;
struct int_list;
struct int_list create_list();

int main() {

    struct int_list list = create_list();
    return 0;
}

struct int_node {
    int value;
    struct int_node * next;
};

struct int_list {
    struct int_node * first;
};

struct int_list create_list() {
    /* Creates an empty list, first node=null */
    struct int_list list;
    list.first = NULL;
    return list;
};
Run Code Online (Sandbox Code Playgroud)

建设时我遇到两个错误:

  1. 使用不完整的返回类型'struct int_list'调用'create_list'
  2. 变量具有不完整类型'struct int_list'

我寻找答案,我能找到的是我需要在使用它之前声明结构和函数,我做了.

我尝试的另一件事是将main()函数移动到最后,这解决了错误,但这是一个愚蠢的解决方法,我想找出真正的解决方案.

有帮助吗?

c struct declaration

3
推荐指数
1
解决办法
3454
查看次数

标签 统计

c ×1

declaration ×1

struct ×1