J'ai une erreur de compilation d'affectation d'adresse je pense du genre:
lvalue required as left operand of assignment, à la ligne:
resultat->hauteur(i,j) = resultat->Hauteur_Terrain(image,i,j, PTS_MAX, PTS_MAX);
Voici le code
Dans le fichier Terrain.cpp
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 48 49 50 51 52 53 54 55 56 57 58
| double Terrain::Hauteur_Terrain(SDL_Surface *image, int i, int j, int maxi, int maxj)
{
.....
.....
}
Terrain* Init_Terrain()
{
....
...
Terrain* resultat;
int i,j;
/* On charge laa heightmap */
image = SDL_LoadBMP("data/heightmap.bmp");
if(image==NULL)
return NULL;
resultat = new Terrain;
if(resultat==NULL)
{
printf("Malloc du terrain a echoue\n");
return NULL;
}
for(i=0;i<PTS_MAX;i++)
{
for(j=0;j<PTS_MAX;j++)
{
resultat->hauteur(i,j) = resultat->Hauteur_Terrain(image,i,j, PTS_MAX, PTS_MAX);
}
}
.....
} |
Dans le fichier Terrain.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| //nombre maximum de points dans le terrain
#define PTS_MAX 32
class Terrain
{
public:
Terrain();
~Terrain();
double Hauteur_Terrain(SDL_Surface *image,int i,int j, int x, int y);
......
.....
double hauteur(int i,int j);
...
}; |
Voilà, Pourriez-vous m'aider à corriger l'erreur, car j'ai essayé de la corriger, mais l'erreur persite toujours.
Partager