您的位置:首页 > 移动开发 > Cocos引擎

cocos2dx3.2 xcode代码块啊,气死自己的类名,低级的错误何时了?

2015-01-02 00:10 405 查看
哎,以为自己学会了在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;    
}<
4000
/p>
感觉应该没问题了吧,commad + B编译下:没想到出现了以下的情况,如下图:
这是什么情况呢,貌似跟虚函数有关,但我看了下,我实现了啊,实在找不出问题的所在,好吧百度下吧,如下图:



嗯,百度也是这样说的,我又检查了一遍,还是没发现错误,心里嘀咕:该实现的我都实现啦,呢吗的狗屁xcode,好吧既然这样,我把整个实现类全部注释掉,看你又做出如何反应,接着在头文件全部加{},表示已经实现,Command + B , 这下编译成功了,到这里我就坚信出现的错误肯定在实现文件里面,仔仔细细,认认真真的又检查了一遍,好了原来是这里,该死的,
damn it, 

bool init()
{

    return true;    
}
intit 函数没加类限制啊,正确应该是下面的:

bool PictureMy::init()

{

    return true;    

}

COMMAND + R,编译运行ok如下图:



这么低级的错误,我希望我以后不要再犯了,也提醒大家千万要小心,不要被这种低级毫无趣味的错误折腾。

到此结束。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cocos2d-x xcode