Bonjour,
Je suis entrain d'écrire une classe qui a pour but de manipuler et de charger une image en récupérant les infos via la librairie devIL et avec SDL_Image pour charger tous les types d'images.
Seulement à la compilation j'ai un problème de compilation lié a un de mes constructeurs et a certaines fonctions.
voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 //constructeur Image(char path[]){ //partie Devil qui sert a recup des infos sur l'image ilInit(); iluInit(); //type definit dans DevIL ILinfo info ; strcpy(chemin,path); findName(nom,path); if (ilLoadImage(path) == IL_FALSE) cout<<"Erreur La librarie Devil ne peu charger l'image : "<<nom<<" *classe image* "<<endl; //recupere les infos de l'image iluGetImageInfo(&info); resolutionY = info.Height ; resolutionX = info.Width ; size = info.SizeOfData ; //partie SDL qui sert à charger l'image image = IMG_Load(path); if(!image){ cout<<"Image impossible a trouver"<<endl; } //on definit le cadre apparent de l'image cadre->h = resolutionX ; cadre->w = resolutionY ; cadre->x = 0 ; cadre->y = 0 ; }; Image(char path[],int x,int y,int h, int w,int r, int v ,int b){ Image(path); loadApparentImage(h,w,x,y); if (couleurInterdit(r, v, b) < 0) cout<<"Couleur invalide : doit etre compris entre 0/255 "<<endl; };
Le message d'erreur est toujours le même à savoir :
Pour les constructeurs :
Cela vient surement du fait que j'appel du second constructeur le premier.Image.cpp: In constructor ‘Image::Image(char*, int, int, int, int, int, int, int)’:
Image.cpp:92: erreur: declaration of ‘Image path’ shadows a parameter
Image.cpp:92: erreur: no matching function for call to ‘Image::Image()’
Image.cpp:91: note: candidats sont: Image::Image(char*, int, int, int, int, int, int, int)
Image.cpp:51: note: Image::Image(char*)
Image.cpp:4: note: Image::Image(const Image&)
Et mes fonctions qui ont un problème appellent aussi le premier constructeur.
Je suis allez voir la FAQ et je suis tombé sur : http://c.developpez.com/faq/cpp/?pag...R_appel_chaine
J'aurais aimé savoir si mon problème vient de là, ou si c'est autre chose et comment le régler le cas échant.
Autre chose débutant en C++, j'aurais aimé savoir où j'aurais pû trouver un site avec toutes les librairies standard du c++ et ce qu'elles contiennent avec un descriptif si possible en français.
Et un lien qui explique, en français si possible, ce qu'est la classe vector car je la vois partout mais je n'arrive pas à comprendre pourquoi elle est si utilisée.
Merci d'avance.
Partager