我正在寻找我的代码(C 语言)中的错误,但没有找到任何内容。
我查看了很多博客并尝试了很多建议的事情,但没有任何帮助。
我已经编码了:
typedef struct Account_t *Account;
struct Account_t {
Customer customer;
Realtor realtor;
Offer offer;
};
而房地产经纪人、客户和报价均已明确定义并包含在 .h 文件中。当我编写时,我收到一条错误消息“取消引用指向不完整类型'struct Account_t'的指针”:
Account account = malloc(sizeof(*account));
请帮我找出问题所在!
最佳答案
我尝试了你的代码。我也遇到了和你类似的问题。
问题在于您的代码,当您在堆中分配结构时,返回值分配错误,因为 malloc 返回一个指针。
我的代码如下所示:
Account* account = (account*)malloc(sizeof(account));
第二件事: 作为类型定义,我没有将结构定义为指针。
typedef struct account_t Account;
试试这个,我希望这些信息有用!
关于c - 取消引用指向不完整类型的指针 - typedef struct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37145740/