bonjour debutant en c++ j'essai de réaliser le jeu du pendu:
mais je n'arrive pas a céer mon tableau dynamique (vector) englobant mes objets joueurs.
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 #include <stdio.h> #include <curses.h> #include <iostream> #include <string> #include <vector> using namespace std; class joueur { private: string nom; int nb_points; int etat_pendaison; public: joueur(string name, int points, int etat); ~joueur(); string get_nom() const {return nom;} int get_etat_pandaison() const {return etat_pendaison;} int get_nb_points() const {return nb_points;} string set_nom(string name) {nom=name;} int set_etat_pandaison(int etat) {etat_pendaison=etat;} int set_nb_points(int points) {nb_points=points;} }; int main(int argv, char* argc[]) { int nb_joueur; string nom_joueur; //tableau d'objet joueur vector<joueur> tab_nom_joueur; cout <<"indiquer le nombre de joueur"<<endl; cin >>nb_joueur; for(int i=0;i<nb_joueur;i++) { cout <<"nom du joueur "<<i<<endl; cin >> nom_joueur; joueur* le_joueur = new joueur(nom_joueur,0,13); tab_nom_joueur[*le_joueur]; } exit(0); return 0; }
voici l'erreur:
Lors d'un précédents programe j'ai du eviter d'utiliser les vectors car jamais un segmentation fault lors de l'exécution de mon programme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 [yvan@localhost c++]$ g++ pendu.cpp -o pendu pendu.cpp: In function `int main(int, char**)': pendu.cpp:39: error: no match for 'operator[]' in 'tab_nom_joueur[*le_joueur]' /usr/lib/gcc/i586-mandrake-linux-gnu/3.4.3/../../../../include/c++/3.4.3/bits/stl_vector.h:462: note: candidates are: typename _Alloc::reference std::vector<_Tp, _Alloc>::operator[](size_t) [with _Tp = joueur, _Alloc = std::allocator<joueur>] /usr/lib/gcc/i586-mandrake-linux-gnu/3.4.3/../../../../include/c++/3.4.3/bits/stl_vector.h:476: note: typename _Alloc::const_reference std::vector<_Tp, _Alloc>::operator[](size_t) const [with _Tp = joueur, _Alloc = std::allocator<joueur>] pendu.cpp:44:2: warning: no newline at end of file
merci pour votre aide.
Partager