Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Un Objeto Como Atributo De Una Clase

Iniciado por nsL, 06 de Marzo de 2005, 12:45:03 AM

« anterior - próximo »

nsL

 Hola de nuevo!

Ya estoy aqui con otra tonteria.Llevo toda la tarde programando y ya no veo las cosas (supongo q os pasara a vosotros tb :P)

Resulta q tengo 2 .h con sus respectivos .cpp


#ifndef SYS_H_
#define SYS_H_


class sys{

private:

int resX;
int resY;
char *progName;
bool loop;
Uint8 *key;
SDL_Surface *mainWND;
SDL_Event Events;
CSprite *sprite;

....
....

};

#endif /*SYS_H_*/


y


#ifndef SPRITES_H_
#define SPRITES_H_


class CSprite {

private:
....
....

};

#endif /* SPRITES_H_ */


En sys.cpp hago:

#include "SDL.h"
#include "sys.h"
#include "Sprites.h"
......


y en Sprites.h:

#include "SDL.H"
#include "Sprites.h"
#include "stdlib.h"
#include "memory.h"
.....


Y no se porq extraña razon, no me deja crear como atributo de la clase sys un objeto CSprite.Ya sea instanciandolo estaticamente o poniendo un puntero.
me devuelve este error:
Citar
c:\Omar\Prog\Proyectos\sdlbeg\sys.h(16): error C2143: syntax error : missing ';' before '*'

En fin, seguro (meto la cabeza en el fuego) que es una tonteria, pero ya toi saturao y no veo el porque. A ver si veis porq puede ser  :rolleyes:

Saludos! y gracias!
Yo no muero hasta la muerte -

Astat

 
CitarEn fin, seguro (meto la cabeza en el fuego) que es una tonteria, pero ya toi saturao y no veo el porque. A ver si veis porq puede ser

Pues si es por esto, si, es una chorradilla  ;)

La clase sys, desconoce CSprite.

Solucionado asin:


#ifndef SYS_H_
#define SYS_H_

class CSprite;   // Ya puedes declarar un puntero a este tipo

class sys{

private:

int resX;
int resY;
char *progName;
bool loop;
Uint8 *key;
SDL_Surface *mainWND;
SDL_Event Events;
CSprite *sprite;

....
....

};

#endif /*SYS_H_*/


Fijate mas en el error:

Citarc:\Omar\Prog\Proyectos\sdlbeg\sys.h(16): error C2143: syntax error : missing ';' before '*'

Te dice claramente que no sabe lo que esta antes del *

nsL

 jajajaj
vaya bobada :P
Gracias jefe! ;)
Yo no muero hasta la muerte -






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.