   error defining a class's method
  void apply_surface( int x, int y,SDL_Surface* source, SDL_Surface* destination, SDL_Rect* clip = NULL );void Sprite::apply_surface( int x, int y, SDL_Surface* source,SDL_Surface* destination, SDL_Rect* clip = NULL ){method body}whats wrong with that?ErrorsCompiling file: sprite.cc ...g++    -Wall   -g  -c "sprite.cc" -o "sprite.o"sprite.cc:21: error: default argument given for parameter 5 of ‘void Sprite::apply_surface(int, int, SDL_Surface*, SDL_Surface*, SDL_Rect*)’sprite.cc:16: error: after previous specification in ‘void Sprite::apply_surface(int, int, SDL_Surface*, SDL_Surface*, SDL_Rect*)’Completed ... unsuccessfulTotal time taken: 0 secs   
  You only specify default values in the definition of the function, not the declaration. That is, the first line of code (function definition) should not have the " = NULL" part after clip.   