gpt4 book ai didi

c - 错误: derefrencing pointer to incomplete type

转载 作者:行者123 更新时间:2023-11-30 15:33:53 27 4
gpt4 key购买 nike

我有一个 duck.h 文件,我在其中编写了这个 typedef:

typedef struct dish_t* Dish;

然后我有一个 dial.c 文件,我在其中定义了我的结构:

struct dish_t {
Type type;
char *name;
int sweetness;
int saltiness;
int sourness;
};

我在dish.c中编写了一些unitest,它们很好,但是当我将它们移动到单独的dish_test.c文件中时,我收到了以下错误:

“解除指向不完整类型的指针的引用”

当我尝试访问如下所示的 Dish 实例时,它就发生了:

    dish=dishCreate("soup",1,2,3,type,&error);
int cmp=strcmp("soup",dish->name); // error accured here

有什么想法为什么会发生吗?

最佳答案

当结构体定义在多个文件中使用时,应将其移至头文件中。

如果你想保持它的“私有(private)”,你需要两个头文件,一个是公共(public)的,一个是私有(private)的。

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

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