Erreur de définition out-of-line sur une classe mais déclarée dans le fichier d'en-tête
Maintenant, c'est un problème bizarre. J'ai été codage il y a deux jours et s'est arrêté et a ensuite continué tout à l'heure. Sur mon fichier d'en-tête (Fruit.h
) j'ai ajouté une méthode appelée animateGrow()
comme suit:
De fruits.h:
class Fruit {
private:
//Member variables here
public:
//Other methods here
void animateGrow( );
};
Mais lorsque j'essaie d'ajouter la même méthode dans le fichier CPP, je reçois un Out-of-line definition of 'animateGrow' does not match any declaration in 'Fruit'
erreur. Il est déclaré dans l'en-tête mais Xcode ne semble pas être en mesure de trouver la méthode.
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.
}
Code complet: (lien supprimé)
(Dans le code, le Tree
il existe des classes et de toutes les autres fonctions et méthodes de travail sont bien sauf pour le animateGrow()
comme il me donne le message d'erreur)
source d'informationauteur alxcyl
Vous devez vous connecter pour publier un commentaire.
Fixe.
Je ne sais pas pourquoi, mais Xcode n'a pas enregistrer mes modifications sur le fichier d'en-tête. J'ai fermé Xcode et ouvert le fichier d'en-tête et les changements ne sont pas là. J'ai ajouté les méthodes de nouveau et enregistré. J'ai ouvert le fichier CPP ajout de la nouvelle méthode à il a bien fonctionné.
Vraiment bizarre.