cocos2dx3.2 xcode代码块啊,气死自己的类名,低级的错误何时了
哎,以为自己学会了在xcode上如何自己自定义代码块,没曾想到自己竟然犯下如此低级的错误,是我的眼睛瞎了,还是。。。。 (如果大家不知道如何在xcode上创建自定义代码块的话可以参照我的上一篇文章:http://blog.csdn.net/aiwobiezoukaicnew/article/details/42320927) 好吧,原因是这样的,xcode自定义代码块很方便,我心里想啊,如果每次新建累的时候,也用这一招,这样就可以减少一些重复性的 工作,是不是很方便呢,于是,编辑代码块,头文件的 title为:headmy,里面的内容如下: #include "cocos2d.h" class Player :public cocos2d::Node { public:
CREATE_FUNC(Player); virtualbool init(); private: Player(); virtual ~Player();
}; 实现文件的title为:implementmy,里面的内容为: Player::Player() { } Player::~Player() { } bool init() { return true;
} 就这样,然后我新建一个类, PictureMy,在它的h中,直接敲headmy,然后用PictureMy替换里面内容所用的Player,OK,于是就变成了下面的内容,自我感觉良好 ,嗯,Perfect.
#include "cocos2d.h" class PictureMy :public cocos2d::Node { public:
CREATE_FUNC(PictureMy); virtualbool init(); private: PictureMy(); virtual ~PictureMy();
};
在实现文件也用同样的方法,变成下面的内容:
#include "PictureMy.h" PictureMy::PictureMy() { } PictureMy::~PictureMy() { } bool init() { return true; } 感觉应该没问题了吧,commad + B编译下:没想到出现了以下的情况,如下图:
这是什么情况呢,貌似跟虚函数有关,但我看了下,我实现了啊,实在找不出问题的所在,好吧百度下吧,如下图:
嗯,百度也是这样说的,我又检查了一遍,还是没发现错误,心里嘀咕:该实现的我都实现啦,呢吗的狗屁xcode,好吧既然这样,我把整个实现类全部注释掉,看你又做出如何反应,接着在头文件全部加{},表示已经实现,Command + B,这下编译成功了,到这里我就坚信出现的错误肯定在实现文件里面,仔仔细细,认认真真的又检查了一遍,好了原来是这里,该死的, damn it,
boolinit() { returntrue; } intit 函数没加类限制啊,正确应该是下面的: boolPictureMy::init() { ; } COMMAND + R,编译运行ok如下图: 这么低级的错误,我希望我以后不要再犯了,也提醒大家千万要小心,不要被这种低级毫无趣味的错误折腾。 到此结束。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |