2012-08-09 11 views
14

Ahora este es un problema extraño. Estuve codificando hace dos días y paré y luego continué. En mi archivo de cabecera (Fruit.h) he añadido un método llamado animateGrow() así:Error de definición fuera de línea en una clase pero está declarado en el archivo de encabezado

Fruit.h:

class Fruit { 
private: 
    // Member variables here 

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

Pero cuando intento agregar el mismo método en el archivo CPP, me sale un error Out-of-line definition of 'animateGrow' does not match any declaration in 'Fruit' . Se declara en el encabezado pero Xcode no parece poder encontrar ese método.

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

Código completo: (enlaces eliminados) (En el código, existe la clase Tree y todos los demás métodos y funciones están trabajando bien, excepto por el animateGrow() ya que da me el error)

+0

Debe cerrar la pregunta, ya que su utilidad para futuros usuarios no está limitada a ninguna. Me alegra que lo hayas arreglado, y buena suerte. –

+0

@ DavidRodríguez-dribeas ¿Cómo cierro una pregunta? Lo siento, no estoy familiarizado con esto. – alxcyl

+0

Uhm ... ¿no hay un enlace debajo de las etiquetas? (Puede ser que necesites cierta reputación para hacer eso ... si el enlace no está allí, no te preocupes, alguien más lo cerrará --Ya voté para cerrar, solo necesito un par de votos más :) –

Respuesta

9

Solucionado.

No sé por qué, pero Xcode no guardó mis cambios en el archivo de encabezado. Cerré Xcode y abrí el archivo de encabezado y los cambios no están allí. Agregué los métodos nuevamente y los guardé. Abrí el archivo CPP agregó el nuevo método funcionó bien.

Realmente extraño.

+0

Después de ser reabierto Xcode parece estar bien en mi caso :) –

+0

Tuve exactamente el mismo mensaje de error en BSD usando clang. Tu respuesta me hizo mirar el encabezado de mi código, efectivamente, no declare el func en el encabezado. ¡Gracias! –

+0

Quiero decir que me ayuda. Gracias – hotpro

Cuestiones relacionadas