Bonjour,
Je me retrouve confronte a un probleme que je ne pensais pas avoir.
J'ai declarer une structure nommé "Piece".
Voici le main :
Voici la fonction RotationPiece :
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 int main(int argc, char *argv[]) { /* Debut du code */ /* Creation du tableau recapitulant les pieces */ Piece ListePiece[NOMBRE_DE_PIECE]; InitialisationListePiece (ListePiece); /* Un pointeur vers une Piece */ Piece *PieceCourante = &(ListePiece[T]); /* Plein de code sans rapport */ RotationPiece(PieceCourante, "horaire"); /* Fin du code */ return EXIT_SUCCESS; }
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 void RotationPiece (Piece *UnePiece, char Sens[]) { int futurPositionX; int futurPositionY; if (strcmp("horaire",Sens) == 0) { futurPositionX = UnePiece->positionPiece.x + UnePiece->positionSuivant.x; futurPositionY = UnePiece->positionPiece.y + UnePiece->positionSuivant.y; UnePiece = UnePiece->suivant; UnePiece->positionPiece.x = futurPositionX; UnePiece->positionPiece.y = futurPositionY; } else { futurPositionX = UnePiece->positionPiece.x + UnePiece->positionPrecedent.x; futurPositionY = UnePiece->positionPiece.y + UnePiece->positionPrecedent.y; UnePiece = UnePiece->precedent; UnePiece->positionPiece.x = futurPositionX; UnePiece->positionPiece.y = futurPositionY; } }
Bon, normalement, lorsque j'appelle RotationPiece, mon pointeur devrait pointer vers une autre instance de structure grace a UnePiece = UnePiece->suivant;
Or, cette modification n'est pas faite.
Je pensais pourtant en envoyant un pointeur que cela irai, mais apparement non.
Ou est mon erreur ?
Je sais qu'en envoyant un pointeur sur mon pointeur, ca marche, mais je pensais que cela été inutile.









Répondre avec citation




Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
Partager