C++よくわからんのでメモ。
・Title.h
#include "cocos2d.h" class Title : public cocos2d::CCLayer { public: ~Title(); Title(); virtual void draw(); virtual void ccTouchesEnded(cocos2d::CCSet* touches, cocos2d::CCEvent* event); virtual void ccTouchesBegan(cocos2d::CCSet* touches, cocos2d::CCEvent* event); void update(cocos2d::ccTime dt); private: }; #endif
→「class Title」の「class」と「Title」の間に全角スペースなんか入れてると、「declaration of anonymous class must be a definition」と言うエラーが出ることがある。
日本語環境使ってる人特有かもしれない・・
・Title.cpp
#include "Title.h" #include "cocos2d.h" #include <iostream> using namespace cocos2d; Title::Title() { } Title::~Title() { } void Title::draw() { } void Title::ccTouchesBegan(CCSet* touches, CCEvent* event) { } void Title::ccTouchesEnded(CCSet* touches, CCEvent* event) { }
→「using namespace cocos2d;」が書いてないと
「 error: expected ';' after top level declarator 」とかいうエラー出たりする。
ヘッダに宣言しているのに、.cppへ実装してないと
「 "Title::update(float)", referenced from:」なんて言われる
※今回update