0

Boardのヘッダーファイルは次のとおりです。

#import "Game.h"
#import <Foundation/Foundation.h>

@interface Board : UIView
{
    enum Piece;
}

- (void) setGame: (Game*) theGame; //<-- this is where the error is
typedef enum {X, O, NONE} Piece;
- (float)getSection;
@end

コンパイラは「タイプが必要です」と表示し、(Game*) に下線が引かれています。ここで何が問題なのですか?


ゲーム.h:

#import <Foundation/Foundation.h>
#import "Board.h"

@interface Game : UIViewController

- (void)boardwasTapped:(int) row:(int) column;

@end
4

2 に答える 2

1

ヘッダーをインポートせず、前方宣言します。Board.mにゲームヘッダーをインポートします

@class Game;

@interface Board : UIView {
...
}
...
@end

また、問題は列挙型にあるのではないでしょうか?宣言する前に、ヘッダーで使用しています。@interfaceブロックの上(外側)で宣言する必要があります。

于 2012-10-25T17:59:53.423 に答える
1

ボード インポート ゲーム、ゲーム インポート ボード。したがって、クラス Game in Board を転送する必要があります

@Class Game
于 2012-10-25T18:28:51.323 に答える