Il problema dovrebbe essere questa riga (che mi era sfuggita prima):
Non è possibile inizializzare un oggetto in quel modo all'interno di una classe.codice:class Button { private: Image img( [definizione del costruttore] ); public: Button( Image img ) { this->img = img; } void draw( void ) { this->img.draw(); } };
O risolvi utilizzando la constructor list initializer (è necessario che la classe abbia il costruttore di default)
oppure sei costretto a usare un puntatore (meglio uno smart pointer)codice:Button( [parametri da passare al costruttore di image ] ) : img([parametri da passare al costruttore di image ] { }
La classe Image l'hai scritta tu immagino (nella doc di SDL qui: http://jcatki.no-ip.org:8080/SDL_ima...age_frame.html non vedo classi)codice:class Button { private: Image* img; Button( Image im ) : img (new Image) { *this->img = im; } etc...

Rispondi quotando