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!
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 *