我有以下代码:
@interface Building : GameObject
{
CGPoint mapSquarePos;
CGPoint SquareSize;
bool isBuilding;
UIImage *BuildingImage;
Person *garnisonedPerson; //Error is here
}
我导入了Person.h文件。什么可能导致此错误
答案 0 :(得分:4)
尝试
@class Person;
@interface Building : GameObject
{
CGPoint mapSquarePos;
CGPoint SquareSize;
bool isBuilding;
UIImage *BuildingImage;
Person *garnisonedPerson; //Error is here
}
并在您的实施文件中导入Person.h
如果这不起作用,似乎BuildingImage可能是一个类名。
Rickyman20的更新
@class Person
告诉编译器Person是一个类。一般情况下,我不会在我的头文件中导入其他头文件。我这样做的一个例子是我使用cocos2d。
在这种情况下,我的头文件中的#import "cocos2d.h
允许在我的头文件中使用整个cocos2d库而不会导致编译器错误