Erreur expected ';' before '(' token" que je n'arrive pas à résoudre
Bonjour,
J'ai le même problème que cette discussion.
Je n'ai en effet pas su le corriger car je ne pense pas pouvoir retirer mes includes.
Je présente mon programme: j'essaye de générer des fractales (en l'occurence Mandelbrot, julia et le buddhabrot).
Pour cela, j'ai une classe mère (fractale), 2 sous classes ( MandelJul et Buddhabrot) et deux sous classe qui découlent de MandelJul: Mandelbrot et Julia.
Voici les .h qui posent problème ainsi que le journal de la compilation:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| #ifndef Fractale_H
#define Fractale_H
#include <SDL.h>
class Fractale{
protected:
SDL_Surface screen;
int abs,ord,rayon,iter;
double zoom;
public:
Fractale(SDL_Surface,int,int,int,double,int);
SDL_Surface getScreen(void);
int getAbs(void);
int getOrd(void);
int getRayon(void);
int getIter(void);
double getZoom(void);
void setScreen(SDL_Surface);
void setAbs(int);
void setIter(int);
void setOrd(int);
void setRayon(int);
void setZoom(double);
};
#endif |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #ifndef MandelJul
#define MandelJul
#include "Fractale.h"
#include <SDL.h>
#include "Complexe.h"
class MandelJul : public Fractale
{
public:
MandelJul(SDL_Surface, int , int ,int , double ,int );
int dessine(Complexe);
int calcule();
};
#endif |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #ifndef Julia
#define Julia
#include "MandelJul.h"
#include <SDL.h>
#include "Complexe.h"
class Julia : public MandelJul
{
protected:
Complexe jul;
public:
Julia(SDL_Surface, int , int ,int , double ,int ,Complexe);
int dessine();
Complexe getJul(void);
void setJul(Complexe);
};
#endif |
Citation:
Compiling: Fractale.cpp
Compiling: Julia.cpp
In file included from C:\C++\GenFractales\MandelJul.h:5,
from C:\C++\GenFractales\Julia.h:3,
from C:\C++\GenFractales\Julia.cpp:2:
C:\C++\GenFractales\Complexe.h:40:15: warning: multi-character character constant
In file included from C:\C++\GenFractales\Julia.h:3,
from C:\C++\GenFractales\Julia.cpp:2:
C:\C++\GenFractales\MandelJul.h:10: error: expected `)' before ',' token
C:\C++\GenFractales\MandelJul.h:8: error: base `Fractale' with only non-default constructor in class without a constructor
C:\C++\GenFractales\MandelJul.h:8: error: an anonymous union cannot have function members
C:\C++\GenFractales\MandelJul.h:13: error: abstract declarator `<anonymous class>' used as declaration
In file included from C:\C++\GenFractales\Julia.cpp:2:
C:\C++\GenFractales\Julia.h:8: error: expected class-name before '{' token
C:\C++\GenFractales\Julia.h:13: error: expected `)' before ',' token
C:\C++\GenFractales\Julia.h:8: error: an anonymous union cannot have function members
C:\C++\GenFractales\Julia.h:10: error: member Complexe <anonymous class>::jul' with constructor not allowed in anonymous aggregate
C:\C++\GenFractales\Julia.h:10: error: member Complexe <anonymous class>::jul' with copy assignment operator not allowed in anonymous aggregate
C:\C++\GenFractales\Julia.h:17: error: abstract declarator `<anonymous class>' used as declaration
C:\C++\GenFractales\Julia.cpp:6: error: expected id-expression before '(' token
C:\C++\GenFractales\Julia.cpp:6: error: ISO C++ forbids declaration of `type name' with no type
C:\C++\GenFractales\Julia.cpp:6: error: abstract declarator `int ()(SDL_Surface, int, int, int, double, int, Complexe)' used as declaration
C:\C++\GenFractales\Julia.cpp:6: error: invalid function declaration
C:\C++\GenFractales\Julia.cpp:11: error: ISO C++ forbids declaration of `getJul' with no type
C:\C++\GenFractales\Julia.cpp:11: error: no `int Complexe::getJul()' member function declared in class `Complexe'
C:\C++\GenFractales\Julia.cpp: In member function `int Complexe::getJul()':
C:\C++\GenFractales\Julia.cpp:12: error: 'class Complexe' has no member named 'jul'
C:\C++\GenFractales\Julia.cpp: At global scope:
C:\C++\GenFractales\Julia.cpp:15: error: explicit qualification in declaration of `void setJul(Complexe)'
C:\C++\GenFractales\Julia.cpp: In function `void setJul(Complexe)':
C:\C++\GenFractales\Julia.cpp:16: error: `jul' was not declared in this scope
C:\C++\GenFractales\Julia.cpp:16: warning: unused variable 'jul'
C:\C++\GenFractales\Julia.cpp: At global scope:
C:\C++\GenFractales\Julia.cpp:20: error: explicit qualification in declaration of `int dessine()'
C:\C++\GenFractales\Julia.cpp: In function `int dessine()':
C:\C++\GenFractales\Julia.cpp:21: error: `jul' was not declared in this scope
C:\C++\GenFractales\Julia.cpp:21: warning: unused variable 'jul'
Process terminated with status 1 (0 minutes, 1 seconds)
21 errors, 3 warnings
Merci beaucoup de votre aide.