Podría ser que "->" se use acceder a un miembro de una clase puntero. Y "." para acceder al miembro de una clase "normal".
Por ejemplo:
Código
typedef struct { Uint32 flags; SDL_PixelFormat *format; int w; int h; Uint16 pitch; void *pixels; SDL_Rect clip_rect; int refcount; } SDL_Surface; int w; SDL_Surface *imagen; w=imagen->w; //en caso de ser SDL_Surface imagen; w=imagen.w;
Saludos
Edito:
Ya que estamos XD.
Me da este error `ct' undeclared (first use this function)
Código
Por cierto
class sprite{ private: SDL_Surface *imagen;//imagen SDL_Rect pos;//posicion de la imagen SDL_Color ct;//color predeterminado verde public: sprite();//constructor para asginar valores a las variables void carga_imagen(char *name);//carga una imagen con el nombre indicado void colorkey(int r,int g,int b);//para cambiar el color transparente si uno quiere por defecto e puesto que sea el verde void ver_sprite(SDL_Surface &scr);//para copiar la imagen a la pantalla. }; sprite::sprite(){ ct.r=0; ct.g=255; ct.b=0; }; void sprite::carga_imagen(char *name){ imagen=SDL_LoadBMP(name); pos.w=imagen->w; pos.h=imagen->h; SDL_SetColorKey(imagen,SDL_SRCCOLORKEY,SDL_MapRGB(imagen->format,ct.r,ct.g,ct.b)); }; void colorkey(int r,int g,int b){ ct.r=r;// aqui me dice `ct' undeclared (first use this function) ct.g=g; ct.b=b; }; void sprite::ver_sprite(SDL_Surface &scr){ SDL_BlitSurface(imagen,0,&scr,&pos); };code]
Código
typedef struct { Uint8 r: Uint8 g; Uint8 b; Uint8 unused; } SDL_Color;