类上的外部定义错误,但它在头文件中声明

时间:2012-08-09 03:40:48

标签: c++ xcode cocos2d-x

现在这是一个奇怪的问题。我两天前编码并停止,然后继续。在我的头文件(Fruit.h)上,我添加了一个名为animateGrow()的方法,如下所示:

Fruit.h:

class Fruit {
private:
   // Member variables here

public:
   // Other methods here
   void animateGrow( );
};

但是当我尝试在CPP文件中添加相同的方法时,出现Out-of-line definition of 'animateGrow' does not match any declaration in 'Fruit'错误。它在标题中声明,但Xcode似乎无法找到该方法。

Fruit.cpp:

#include "SimpleAudioEngine.h"
#include "Fruit.h"
#include "Tree.h"

using namespace cocos2d;
using namespace CocosDenshion;

Fruit::Fruit( ) {
   // Constructor
}

// Getter Methods
// Setter Methods
// Other Methods

void Fruit::animateGrow( ) {
   // I get an error here when I type it.
}

完整代码 :(已删除链接) (在代码中,Tree类存在,除了animateGrow()之外,所有其他方法和函数都正常工作,因为它给出了错误)

1 个答案:

答案 0 :(得分:10)

修正了它。

我不知道为什么但是Xcode没有在头文件中保存我的更改。我关闭了Xcode并打开了头文件,并且没有更改。我再次添加了方法并保存了。我打开了CPP文件,添加新方法就可以了。

真的很奇怪。