Bonsoir !
Je vous soumets un problème qui me prend la tête depuis plusieurs heures et qui soulève mon incompréhension.
J'ai une structure :
Code :
- struct Choix{
- int ligne;
- int colonne;
- Orientation sens;
- };
|
J'ai un tableau de structures :
Dans une méthode, je remplis ce tableau. J'ai vérifié au debugger à la sortie de cette fonction j'ai bien mon tableau rempli.
J'ai ensuite une autre méthode qui doit utiliser les données de ce tableau. Seulement voilà, cette méthode fonctionne mal. Après vérification au debugger, dans ma méthode je n'ai pas mon tableau rempli. Au lieu d'avoir un T[], j'ai un T pointeur il semblerait. Selon ce que je sais, il me semble que lorsque l'on passe un tableau en paramètre il s'agit en fait d'un pointeur. Mais je sais qu'il y a quand même un problème puisque dans la méthode avec laquelle je remplis le tableau, dans la fenêtre Variables du debugger d'Eclipse j'avais les différents postes de mon tableau. Alors que là, je n'ai qu'un "T" avec un symbole pointeur. Il semble bien que c'est un problème de paramètres mais je n'arrive pas à trouver où ça coince !
Je me prends la tête dessus depuis un moment... Je ne trouve vraiment pas pourquoi je n'ai pas accès à mon tableau...
Voici le prototype de ma méthode :
Code :
- void Deplacement (int choix, const int nbchoix, const Choix T[], const Color & c);
|
Le début de ma méthode :
Code :
- void Plateau::Deplacement(int choix, const int nbchoix, const Choix T[], const Color & c){
- while (choix>nbchoix || nbchoix<0){
- cout<<endl<<"Choix impossible"<<endl;
- cout<<"Veuillez entrer un nouveau choix : ";
- cin>>choix;
- }
- for (int i=0 ; i<3 ; ++i){
- for (int j=0 ; j<3 ; ++j){
- if (P_[i][j].c==c)
- P_[i][j].c=VIDE;
- }
- }
- // etc etc
|
L'appel de la méthode :
Code :
- Jeu.Deplacement(choix, nbchoix, T, RED);
|
Merci de m'apporter votre aide rapidement. A+ !