Ошибка определения вне строки в классе, но она объявлена в файле заголовка
Теперь это странная проблема. Я писал два дня назад и остановился, а затем продолжил только сейчас. В моем файле заголовка (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
Исправлено.
Я не знаю, почему, но Xcode не сохранил мои изменения в файле заголовка. Я закрыл Xcode и открыл файл заголовка, и изменений там нет. Я снова добавил методы и сохранил их. Я открыл файл CPP, добавив, что новый метод в нем работал нормально.
Действительно странно.