[英]Class inside a struct
我被兩個錯誤弄得頭昏腦脹,我完全不知道出什么問題了。
#ifndef ListElements
#define ListElements
#include "RentalObjects.h"
struct RentalList{
ObjectBase* content;
RentalList* Next;
};
#endif
我一直都收到這個錯誤:
錯誤1錯誤C2143:語法錯誤:缺少';' 在“ *”之前
錯誤2錯誤C4430:缺少類型說明符-假定為int。
RentalObjects.h文件具有ObjectBase類的聲明,該聲明如下所示:
class ObjectBase{
protected:
char Make[16];
char Model[16];
int Year;
float PricePerDay;
Booking* Availability;
public:
void SetMake(char* value);
void SetModel(char* value);
void SetYear(int value);
void SetPrice(float value);
bool DisposeBookings();
bool Book(int Start,int End);
char* GetMake();
char* GetModel();
int GetYear();
float GetPrice();
~ObjectBase();
};
我將不勝感激。
在聲明指針或引用時,您不需要整個類/結構定義。
代替:
#include "RentalObjects.h"
struct RentalList {
ObjectBase* content;
RentalList* Next;
};
你可以做:
class ObjectBase;
struct RentalList {
ObjectBase* content;
RentalList* Next;
};
這可能會使您脫離循環包含,這可能是導致您出現問題的原因
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.