现在我正在为我的系统编程课程做一个项目。我们被要求与房地产经纪人和客户一起规划一个公寓销售平台。我在做月食。
现在,尽管我过去没有遇到过类似的问题,但我的一个头文件无法从第二个头文件中识别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,这将解决给定代码的问题。

10-08 02:24