¿cómo heredar una clase #include?

Tengo 4 archivos,

HomeScene.h
HomeScene.cpp
Options.h
Options.cpp

tanto la *.h los archivos tienen el otro *.h incluido.
Ahora estoy tratando de heredar HomeScene.h en Options.h

class OptionScene : public cocos2d::CCLayerColor,HomeScene

la línea anterior da tantos errores.

class OptionScene : public cocos2d::CCLayerColor

la línea anterior no tiene errores

Tengo un static bool var; en mi HomeScene.h que estoy tratando de usar directamente en mi escena de opciones.

preguntado el 02 de febrero de 12 a las 11:02

¿Qué errores obtienes? Ayudaría saber ... -

Publique los errores. Y trata de deshacerte de la dependencia circular. -

error C2039: 'HomeScene': no ​​es miembro de '_STL' -

error C2385: acceso ambiguo de 'autorelease' -

error C2594: 'argumento': conversiones ambiguas de 'OptionScene *' a 'cocos2d :: CCNode *' -

1 Respuestas

¿Por qué necesitas incluir Options.h in HomeScene.h ? Si OptionScene es el tipo derivado de HomeScene, entonces no sé por qué necesitarías hacer eso.

En caso de que solo necesite declarar un puntero / referencia al tipo declarado en Options.h, puede utilizar la declaración de reenvío.

Opciones.h

#include "HomeScene.h"
class OptionScene
{
    // ...
};

HomeScene.h

class OptionScene; // forward declaration

class HomeScene
{
    OptionScene* o;
};

Si este es tu problema, esta pregunta te ayudará: ¿Cuándo puedo utilizar una declaración a plazo?

contestado el 23 de mayo de 17 a las 14:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.