Erreur de compilation apres une mise en forme en classes

Erreur de compilation apres une mise en forme en classes - C++ - Programmation

Marsh Posté le 31-01-2010 à 14:21:06    

Bonjour,
Je réalise actuellement un projet c++ qui consiste à générer des fractales. J'ai pour l'instant composé le code nécéssaire à la création de mandelbrot, julia et buddhabrot. Et maintenant j'organise le tout sous forme de classes. Et c'est là que ça merde. Quelqu'un pourrait-il m'aider?
 
Voici mon code et le journal d'erreurs:
 
Fractale.h

Code :
  1. #ifndef Fractale_H
  2. #define Fractale_H
  3. #include <SDL.h>
  4. class Fractale{
  5. protected:
  6.     SDL_Surface screen;
  7.     int abs,ord,rayon,iter;
  8.     double zoom;
  9. public:
  10.     Fractale(SDL_Surface,int,int,int,double,int);
  11.     SDL_Surface getScreen(void);
  12.     int getAbs(void);
  13.     int getOrd(void);
  14.     int getRayon(void);
  15.     int getIter(void);
  16.     double getZoom(void);
  17.     void setScreen(SDL_Surface);
  18.     void setAbs(int);
  19.     void setIter(int);
  20.     void setOrd(int);
  21.     void setRayon(int);
  22.     void setZoom(double);
  23. };
  24. #endif


 
Fractale.cpp

Code :
  1. #include <SDL.h>
  2. #include <Fractale.h>
  3. Fractale::Fractale(SDL_Surface *screen, int _abs, int _ord,int _rayon, double _zoom,int _iter){
  4.     setScreen(*screen);
  5.     setAbs(_abs);
  6.     setOrd(_ord);
  7.     setRayon(_rayon);
  8.     setZoom(_zoom);
  9.     setIter(_iter);
  10. }
  11. SDL_Surface Fractale::getScreen(void){
  12.     return this->screen;
  13. }
  14. int Fractale::getAbs(void){
  15.     return this->abs;
  16. }
  17. int Fractale::getOrd(void){
  18.     return this->ord;
  19. }
  20. int Fractale::getRayon(void){
  21.     return this->rayon;
  22. }
  23. int Fractale::getIter(void){
  24.     return this->iter;
  25. }
  26. double Fractale::getZoom(void){
  27.     return this->zoom;
  28. }
  29. void Fractale::setScreen(SDL_Surface *screen){
  30.     screen=*screen;
  31. }
  32. void Fractale::setAbs(int _abs){
  33.     abs=_abs;
  34. }
  35. void Fractale::setIter(int _iter){
  36.     iter=_iter;
  37. }
  38. void Fractale::setOrd(int _ord){
  39.     ord=_ord;
  40. }
  41. void Fractale::setRayon(int _rayon){
  42.     rayon=_rayon;
  43. }
  44. void Fractale::setZoom(double _zoom){
  45.     zoom=_zoom;
  46. }


 
Journal:

Code :
  1. Compiling: Fractale.cpp
  2. C:\C++\GenFractales\Fractale.cpp:5: error: prototype for `Fractale::Fractale(SDL_Surface*, int, int, int, double, int)' does not match any in class `Fractale'
  3. C:/C++/GenFractales/Fractale.h:5: error: candidates are: Fractale::Fractale(const Fractale& )
  4. C:/C++/GenFractales/Fractale.h:12: error:                 Fractale::Fractale(SDL_Surface, int, int, int, double, int)
  5. C:\C++\GenFractales\Fractale.cpp:38: error: prototype for `void Fractale::setScreen(SDL_Surface*)' does not match any in class `Fractale'
  6. C:/C++/GenFractales/Fractale.h:21: error: candidate is: void Fractale::setScreen(SDL_Surface)
  7. C:\C++\GenFractales\Fractale.cpp: In member function `void Fractale::setScreen(SDL_Surface*)':
  8. C:\C++\GenFractales\Fractale.cpp:39: error: cannot convert `SDL_Surface' to `SDL_Surface*' in assignment


 
merci de votre aide

Reply

Marsh Posté le 31-01-2010 à 14:21:06   

Reply

Marsh Posté le 31-01-2010 à 17:16:01    

SDL_Surface* dans le .hpp.
le message du compilo est quand meme clair là ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed