Bonjour,
Je débute en C++ et j'essaye de faire un petit projet pour appréhender toutes les facettes de ce langage. J'ai quelques notions en C mais toujours des problèmes avec ces satanés pointeurs, adresses etc...
Lorsque je lis un cours, je comprends pas trop mal mais il faut à chaque fois que je réfléchisse (trop longtemps...) lorsque je vois un *, ** ou &
Et donc je ne m'en sors pas, j'ai beau rabâcher tout ça, ça ne rentre pas...
Ca doit être l'âge...
En tout cas, je tente tout de même de développer un jeu de morpion.
Voici mes 3 fichiers :
Définition de ma classe Echiquier : l'objet possède un tableau à 2 dimensions de 3 x 3 (aie les problèmes vont venir de là...), une méthode init() et une methode print() :
Définition des fonctions : la méthode init() sur un objet de classe Echiquier rempli le tableau à 2 dimensions de 0; la méthode print() pour l'instant ne fait rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // morpion.h #ifndef MORPION_H #define MORPION_H class Echiquier { public: int plateau[3][3] ; void init() ; void print() ; } ; #endif
Le programme en lui-même qui créé un objet ech de la classe Echiquier et qui l'initialise :
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 // morpion.cpp #include "morpion.h" void Echiquier::init() { for ( int i=0; i<3; i++ ) { for ( int j=0; j<3; j++ ) { plateau[i][j] = 0 ; } } } void Echiquier::print() { }
A la compilation,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 // morpionTest.cpp #include <iostream> #include "morpion.h" using namespace std; int main() { Echiquier ech ; ech.init(); }j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part gcc morpion.cpp morpionTest.cppJe me doute qu'il s'agit d'un problème du au tableau à deux dimensions et à l'utilisation de pointeurs pour remplir celui-ci. J'ai essayé ceci sans trop comprendre ce que je faisais mais l'erreur est la même :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 morpion.cpp: In member function «void Echiquier::init()»: morpion.cpp:8: erreur: invalid types «int[int]» for array subscript
Ca fait 2 jours que je tourne sur plein de tuto mais je n'arrive pas à m'en sortir.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 *plateau[i][j] = 0 ou **plateau[i][j] = 0 ;
Merci pour une explication !!!
Partager