现在我正在为我的系统编程课程做一个项目。我们被要求与房地产经纪人和客户一起规划一个公寓销售平台。我在做月食。
现在,尽管我过去没有遇到过类似的问题,但我的一个头文件无法从第二个头文件中识别typedef。
说明:这是我的档案;
房地产经纪人
#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.h中的函数声明给出了以下错误:“未知类型名‘Realtor’”。这真的很奇怪,因为相同的函数使用其他typedef,比如“公寓服务.h”中的“apartment service”。
最佳答案
你包括房地产经纪人中的客户。
这就是发生错误的地方在Realtor.h中,Realtor
的typedef未在Customer.h之前定义
从Realtor.h中删除Customer.h,这将解决给定代码的问题。