gpt4 book ai didi

c - 头文件无法识别来自不同头文件的 typedef

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

现在我正在为我的系统编程类(class)做一个项目。我们被要求与房地产经纪人和客户一起编写一个公寓销售平台。我正在研究 Eclipse。

现在,尽管我过去没有遇到过任何类似的问题,但我的一个头文件无法识别第二个头文件中的 typedef。

说明:这是我的文件;

房地产经纪人.h

#include "apartment.h"
#include "apartment_service.h"
#include "Report.h"
#include "Customer.h"
#include "mtm_ex2.h"


typedef struct realtor_t* Realtor;

虽然这是第二个头文件;

客户.h

#include "Report.h"
#include "Realtor.h"
#include "apartment.h"
#include "apartment_service.h"
#include "mtm_ex2.h"

typedef struct customer_t* Customer;

MtmErrorCode purchaseApartment (Customer customer, Realtor realtor,
ApartmentService service,
int apartment_id);

MtmErrorCode makeOffer (Customer customer, Realtor realtor, ApartmentService
service, int apartment_id, int new_price);

(customer_t 和 realtor_t 的结构在源文件中定义)

出于某种原因,Customer.h 中的函数声明给我以下错误:“未知类型名称‘Realtor’”。这真的很奇怪,因为相同的函数使用其他类型定义,例如“apartment_service.h”中的“ApartmentService”。

最佳答案

您将 Customer.h 包含在 Realtor.h 中。

这是错误发生的地方。在 Realtor.h 中,Realtor 的 typedef 未在 Customer.h 之前定义

从 Realtor.h 中删除 Customer.h。这应该可以解决给定代码的问题。

关于c - 头文件无法识别来自不同头文件的 typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37001670/

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