Xcode更新7.3以后 编译不提示自定义的类名怎么解决

 我来答
你猜我猜哇擦猜
2016-03-30 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2万
采纳率:0%
帮助的人:6732万
展开全部
好吧,原因是这样的,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,
bool init()
{
return true;
}
intit 函数没加类限制啊,正确应该是下面的:

bool PictureMy::init()
{
return true;
}

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

这么低级的错误,我希望我以后不要再犯了,也提醒大家千万要小心,不要被这种低级毫无趣味的错误折腾。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式