2012-08-09 2 views
14

deklariert Jetzt ist dies ein seltsames Problem. Ich habe vor zwei Tagen programmiert und gestoppt und dann gerade weiter gemacht. Auf meiner Header-Datei (Fruit.h) Ich habe eine Methode animateGrow() wie so genannt:Out-of-Line-Definition Fehler für eine Klasse, aber es ist in der Header-Datei

Fruit.h:

class Fruit { 
private: 
    // Member variables here 

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

Aber wenn ich versuche, die gleiche Methode in der CPP-Datei hinzufügen, erhalte ich ein Out-of-line definition of 'animateGrow' does not match any declaration in 'Fruit' Fehler . Es ist in der Kopfzeile deklariert, aber Xcode scheint diese Methode nicht zu finden.

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. 
} 

vollständigen Code: (Links entfernt) (in dem Code der Tree Klasse existiert und alle anderen Methoden und Funktionen arbeiten gut mit Ausnahme der animateGrow() wie es gibt mir der Fehler)

+0

Sie sollten die Frage schließen, da ihre Nützlichkeit für zukünftige Benutzer auf keine beschränkt ist. Freut mich, dass Sie es repariert haben, und viel Glück. –

+0

@ DavidRodríguez-dribeas Wie schließe ich eine Frage? Tut mir leid, ich bin damit nicht vertraut. – alxcyl

+0

Uhm ... gibt es keinen Link unter den Tags? (Es kann sein, dass du etwas Reputation brauchst, um das zu tun ... wenn der Link nicht da ist, mach dir keine Sorgen, jemand anderes wird es schließen - Ich habe bereits zum Schließen gestimmt, es braucht nur noch ein paar Stimmen :) –

Antwort

9

Fixed it.

Ich weiß nicht warum, aber Xcode hat meine Änderungen in der Header-Datei nicht gespeichert. Ich habe Xcode geschlossen und die Header-Datei geöffnet und die Änderungen sind nicht da. Ich habe die Methoden erneut hinzugefügt und gespeichert. Ich öffnete die CPP-Datei hinzugefügt die neue Methode in es funktionierte gut.

Wirklich seltsam.

+0

Nach dem erneuten Öffnen scheint Xcode in meinem Fall OK zu sein :) –

+0

Ich hatte genau die gleiche Fehlermeldung auf BSD mit Clang. Deine Antwort hat mich dazu gebracht, den Header für meinen Code zu betrachten, natürlich habe ich die Funktion nicht im Header deklariert. Vielen Dank! –

+0

Ich will sagen, dass es mir hilft.Vielen Dank – hotpro

Verwandte Themen