簡単に言うと、C++ SDK (openfeint) を使い始めるまで、私のプロジェクト (iPhone アプリ) はすべて正常に動作していました。デバイスでのテストからシミュレーターでのテストに切り替えるまで、C++++ Openfeint を含め、すべてが正常に機能していました。
今では何もコンパイルされず、200未満のエラーが発生しています。それはすべて制御不能になり、どのデバイスでもコンパイルできません。前述したように、すべてが完全に機能していました。コードを 1 行も変更していません。Active SDK を変更しただけです。
だから私は最初から始めます。最初のエラーは...
Error 1: ISO C++ forbids of declaration 'BrickControlLayer' with no type
このエラーをクリックすると、別のクラスのヘッダー ファイルに移動します...
// GameScene.h
#import <Foundation/Foundation.h>
#import "cocos2d.h"
#import "brickSprite.h"
#import "BrickControlLayer.h"
#import "GameState.h"
#import "ScoreController.h"
#import "FeedbackLayer.h"
#import "TimeBar.h"
@interface GameScene : Layer {
GameState *gameState;
ScoreController *scoreController;
CocosNode *spriteHolder;
brickSprite *targetBrick;
// Heres the line it takes me too <<<<<<<<<<<<<<<<<
BrickControlLayer *controls;
NSInteger difficulty;
NSMutableArray *pointsLookupArray;
BitmapFontAtlas *scoreLabel;
FeedbackLayer *feedback;
NSDate *startTime;
TimeBar *timeProgress;
int rowScanCount, foundRows;
}
// methods here....
@end
私はこれに慣れていないので、我慢してください。*controlsタイプ「 」であると明確に述べているため、混乱しましたBrickControlLayer。だから私は、「BrickControlLayer」自体の中に何か問題があると思っています。
これがヘッダーです...
// BrickControlLayer.h
#import <Foundation/Foundation.h>
#import "cocos2d.h"
#import "brickSprite.h"
#import "HighScores.h"
@interface BrickControlLayer : Layer{
CocosNode *spriteHolder;
CGPoint touchedStartPoint, moveFromPoint;
brickSprite *touchedBrick;
BOOL editorMode;
int movecount;
// Control buttons
AtlasSpriteManager *buttonManager;
AtlasSprite *rotLeft, *rotRight, *newBrick, *deleteBrick, *makeTarget, *save, *run;
BOOL tapToContinue;
}
@property (retain, readwrite) CocosNode *spriteHolder;
@property (retain, readwrite) brickSprite *touchedBrick;
-(void)showEditorControls;
-(void)selectBrickAtLocation:(CGPoint)location;
-(void)hideEditorControls;
-(void)deactivate;
@end
私はそれを何度も繰り返してきました。以前はすべて正常に機能していましたが、単に理解できません。私はそれをグーグルで検索してきましたが、「前方宣言」という用語しか出てきませんでしたが、それは私には何の意味もありません。私が見つけたすべての情報は、構造体について語っています。
エラーは、単純な1行のタイプミスなどではなく、他の多くのことを間違っていることを示していると思います。ここで何が起こっているのか、誰でも素人の言葉で説明できますか?