IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Colonne’ does not name a type


Sujet :

C++

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Colonne’ does not name a type
    Bonjour tout le monde,
    Pour un projet à l'école je dois développé un jeu qui s'appelle puissance 4, je me retrouve avec une erreur que je comprend pas voici la liste de fichier que j'utilise:
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
     
    Colonne.h:
    #ifndef COLONNE_H_
    #define COLONNE_H_
    #include "Case.h"
    #include "Grille.h"
    #include <string.h>
    #include <list>
    #include <iostream>
    using namespace std;
    class Colonne {
    private :
        list<Case> cases;
        Grille grille;
        bool estRemplie;
        int nbJetons;
    public:
    	Colonne();
    	virtual ~Colonne();
        Grille getGrille();
        void setGrille(Grille grille);
        list<Case> getCases();
        bool getEstRemplie();
        int getNbJetons();
        void setNbJetons(int n);
        void ajouterCase(Case myCase);
        Case getCase(int);
    };
     
    #endif /* COLONNE_H_ */
     
     
    Case.h
    #ifndef CASE_H_
    #define CASE_H_
    #include "Joueur.h"
    #include "Colonne.h"
    #include <iostream>
    using namespace std;
    class Case {
    private:
         Joueur joueur;
         Colonne colonne;
    public:
    	Case();
    	virtual ~Case();
        Case (Colonne col);
    	void initialiser();
    	Colonne getColonne();#ifndef GRILLE_H_
    #define GRILLE_H_
    #include <algorithm>
    #include <list>
    #include "Colonne.cpp"
    #include "Joueur.h"
    #include <iostream>
    #define NBCOLONNES 7
    #define NBLIGNES 6
    using namespace std;
    class Grille
    {
    private:
        // Owned attributes
     
        bool estPrete;
        bool estRemplie;
        public :
        list <Colonne> colonnes;
        Grille();
        virtual ~Grille();
        Colonne getColonne(int);
        void initialiser();
        bool getEstRemplie();
        void setEstRemplie(bool estRemplie);
        //int getNbLignes();
        bool getEstPrete();
        void setEstPrete(bool myestPret);
        list<Colonne> getColonnes();
        void setColonnes(list<Colonne> mycolonnes);
        //int getNbColonnes();
        bool mancheGagnee(Colonne myColonne);
        void calculerEstRemplie();
        void placerJeton(Colonne colonne,Joueur joueur);
        int indiceColonne(Colonne);
    };
     
    #endif /*GRILLE_H_*/
    	void setColonne(Colonne colonne);
        Joueur getJoueur();
        void setJoueur(Joueur myJoueur);
    };
     
    #endif /* CASE_H_ */
     
    Grille.h
    #ifndef GRILLE_H_
    #define GRILLE_H_
    #include <algorithm>
    #include <list>
    #include "Colonne.cpp"
    #include "Joueur.h"
    #include <iostream>
    #define NBCOLONNES 7
    #define NBLIGNES 6
    using namespace std;
    class Grille
    {
    private:
        // Owned attributes
     
        bool estPrete;
        bool estRemplie;
        public :
        list <Colonne> colonnes;
        Grille();
        virtual ~Grille();
        Colonne getColonne(int);
        void initialiser();
        bool getEstRemplie();
        void setEstRemplie(bool estRemplie);
        //int getNbLignes();
        bool getEstPrete();
        void setEstPrete(bool myestPret);
        list<Colonne> getColonnes();
        void setColonnes(list<Colonne> mycolonnes);
        //int getNbColonnes();
        bool mancheGagnee(Colonne myColonne);
        void calculerEstRemplie();
        void placerJeton(Colonne colonne,Joueur joueur);
        int indiceColonne(Colonne);
    };
     
    #endif /*GRILLE_H_*/

    Lors de la compilation je me retrouve avec cette liste d'erreur:

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    In file included from Grille.h:5:0,
                     from Colonne.h:11,
                     from Case.h:11,
                     from Case.cpp:8:
    Colonne.cpp:10:1: erreur: ‘Colonne’ does not name a type
    Colonne.cpp:15:1: erreur: ‘Colonne’ does not name a type
    Colonne.cpp:19:1: erreur: ‘Grille’ does not name a type
    Colonne.cpp:23:6: erreur: ‘Colonne’ has not been declared
    Colonne.cpp:23:25: erreur: variable or field ‘setGrille’ declared void
    Colonne.cpp:23:25: erreur: ‘Grille’ was not declared in this scope
    Colonne.cpp:26:6: erreur: ‘Case’ was not declared in this scope
    Colonne.cpp:26:10: erreur: patron de l'argument 1 est invalide
    Colonne.cpp:26:10: erreur: patron de l'argument 2 est invalide
    Colonne.cpp:26:12: erreur: ‘Colonne’ has not been declared
    Colonne.cpp: In function ‘int getCases()’:
    Colonne.cpp:27:13: erreur: ‘cases’ was not declared in this scope
    Colonne.cpp: At global scope:
    Colonne.cpp:29:6: erreur: ‘Colonne’ has not been declared
    Colonne.cpp: In function ‘bool getEstRemplie()’:
    Colonne.cpp:30:9: erreur: ‘estRemplie’ was not declared in this scope
    Colonne.cpp: At global scope:
    Colonne.cpp:32:5: erreur: ‘Colonne’ has not been declared
    Colonne.cpp: In function ‘int getNbJetons()’:
    Colonne.cpp:33:9: erreur: ‘nbJetons’ was not declared in this scope
    Colonne.cpp: At global scope:
    Colonne.cpp:35:6: erreur: ‘Colonne’ has not been declared
    Colonne.cpp: In function ‘void setNbJetons(int)’:
    Colonne.cpp:36:3: erreur: ‘nbJetons’ was not declared in this scope
    Colonne.cpp: At global scope:
    Colonne.cpp:38:6: erreur: ‘Colonne’ has not been declared
    Colonne.cpp:38:27: erreur: variable or field ‘ajouterCase’ declared void
    Colonne.cpp:38:27: erreur: ‘Case’ was not declared in this scope
    Colonne.cpp:42:1: erreur: ‘Case’ does not name a type
    In file included from Colonne.h:11:0,
                     from Case.h:11,
                     from Case.cpp:8:
    Grille.h:19:11: erreur: ‘Colonne’ was not declared in this scope
    Grille.h:19:18: erreur: patron de l'argument 1 est invalide
    Grille.h:19:18: erreur: patron de l'argument 2 est invalide
    Grille.h:22:5: erreur: ‘Colonne’ does not name a type
    Grille.h:29:10: erreur: ‘Colonne’ was not declared in this scope
    Grille.h:29:17: erreur: patron de l'argument 1 est invalide
    Grille.h:29:17: erreur: patron de l'argument 2 est invalide
    Grille.h:30:27: erreur: ‘Colonne’ was not declared in this scope
    Grille.h:30:34: erreur: patron de l'argument 1 est invalide
    Grille.h:30:34: erreur: patron de l'argument 2 est invalide
    Grille.h:32:23: erreur: ‘Colonne’ has not been declared
    Grille.h:34:22: erreur: ‘Colonne’ has not been declared
    Grille.h:35:23: erreur: ‘Colonne’ has not been declared
    In file included from Case.h:11:0,
                     from Case.cpp:8:
    Colonne.h:18:10: erreur: ‘Case’ was not declared in this scope
    Colonne.h:18:14: erreur: patron de l'argument 1 est invalide
    Colonne.h:18:14: erreur: patron de l'argument 2 est invalide
    Colonne.h:27:10: erreur: ‘Case’ was not declared in this scope
    Colonne.h:27:14: erreur: patron de l'argument 1 est invalide
    Colonne.h:27:14: erreur: patron de l'argument 2 est invalide
    Colonne.h:31:22: erreur: ‘Case’ has not been declared
    Colonne.h:32:5: erreur: ‘Case’ does not name a type
    Case.cpp: In constructor ‘Case::Case()’:
    Case.cpp:13:5: erreur: uninitialized reference member ‘Case::colonne’ [-fpermissive]
    Case.cpp: In constructor ‘Case::Case(Colonne)’:
    Case.cpp:26:1: erreur: uninitialized reference member ‘Case::colonne’ [-fpermissive]
    make: *** [Case.o] Erreur 1

  2. #2
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Voici le reste des fichiers . cpp

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    Colonne.cpp:
     
    #include "Colonne.h"
     
    Colonne::Colonne() {
    	// TODO Auto-generated constructor stub
    estRemplie= false;
    }
     
    Colonne::~Colonne() {
    	// TODO Auto-generated destructor stub
    }
     
    Grille Colonne::getGrille(){
    	return grille;
    }
     
    void Colonne::setGrille(Grille g){
         grille = g;
    }
    list<Case> Colonne::getCases(){
         return cases;
    }
    bool Colonne::getEstRemplie(){
    	return estRemplie;
    }
    int Colonne::getNbJetons(){
    	return nbJetons;
    }
    void Colonne::setNbJetons(int n){
    	 nbJetons = n;
    }
    void Colonne::ajouterCase(Case myCase){
    	getCases().push_front(myCase);
    	setNbJetons(getNbJetons()+1);
    }
    Case Colonne :: getCase(int i){
     
    	list <Case>::iterator k= cases.begin();
    	int cmp=0;
        while (k!=cases.end() && cmp < i )
        {
        	cmp=cmp+1;
        }
       return *k;
     
    }
     
     
     
    Case.cpp:
    #include "Case.h"
     
        /**
         * Default constructor
         */
        Case::Case () {
            // Start of user code for the default constructor
            // Attributes
            initialiser();
            // End of user code for the default constructor
        }
     
    Case::~Case() {
    	// TODO Auto-generated destructor stub
    }
     
    void Case :: initialiser(){
    }
    Case::Case (Colonne col){
    	initialiser();
      	colonne = col;
    }
    Colonne	Case::getColonne() {
    		return colonne;
    }
    void Case::setColonne(Colonne c) {
    		colonne = c;
    	}
    Joueur Case::getJoueur(){
            // Start of user code for Case.getJoueur
            return joueur;
            // End of user code
        }
    void Case::setJoueur(Joueur myJoueur){
            // Start of user code for Case.setJoueur
        	joueur=myJoueur;
            // End of user code
        }
     
     
    Joueur.cpp
    #include "Joueur.h"
     
    Joueur::Joueur() {
    	// TODO Auto-generated constructor stub
       initialiser();
    }
     
    Joueur::~Joueur() {
    	// TODO Auto-generated destructor stub
    }
     
    Joueur::Joueur(int i) {
    		// TODO Auto-generated constructor stub
        	initialiser();
        	nom = "Joueur"+ (i+1);
        	numero=i;
    	}
     
    	/**
         */
         void Joueur::initialiser() {
            // Start of user code for Joueur.initialiser
           score=0;
            // End of user code
        }
     
        // Methods for implemented interfaces
     
        /**
         * {@inheritDoc}<br />
         * Method for implemented interface : puissance4activiydiagramModel.puissance4.central.base.IJoueur
         * @see puissance4activiydiagramModel.puissance4.central.base.IJoueur#setNom
         */
        void Joueur::setNom(string nm){
            // Start of user code for Joueur.setNom
        	nom=nm;
            // End of user code
        }
     
        /**
         * {@inheritDoc}<br />
         * Method for implemented interface : puissance4activiydiagramModel.puissance4.central.base.IJoueur
         * @see puissance4activiydiagramModel.puissance4.central.base.IJoueur#getNom
         */
        string Joueur::getNom(){
            // Start of user code for Joueur.getNom
            return nom;
            // End of user code
        }
     
        /**
         * {@inheritDoc}<br />
         * Method for implemented interface : puissance4activiydiagramModel.puissance4.central.base.IJoueur
         * @see puissance4activiydiagramModel.puissance4.central.base.IJoueur#getScore
         */
         int Joueur:: getScore(){
            // Start of user code for Joueur.getScore
            return score;
            // End of user code
        }
     
        /**
         * {@inheritDoc}<br />
         * Method for implemented interface : puissance4activiydiagramModel.puissance4.central.base.IJoueur
         * @see puissance4activiydiagramModel.puissance4.central.base.IJoueur#setScore
         */
        void Joueur:: setScore(int myScore){
            // Start of user code for Joueur.setScore
        	score=myScore;
            // End of user code
        }
     
        int Joueur:: getNumero() {
    		return numero;
    	}
     
     void Joueur::setNumero(int num) {
    		numero = num;
    	}
     
     
    Joueur.h
    #ifndef JOUEUR_H_
    #define JOUEUR_H_
    #include <iostream>
    #include <string.h>
    using namespace std;
    class Joueur {
    	    // Owned attributes
    private:
    	string nom;
        int score;
        int numero;
    public:
    	Joueur();
    	virtual ~Joueur();
    	void initialiser();
        Joueur(int i);
        void setNom(string nom);
        string getNom();
        int getScore();
        void setScore(int myScore);
        int getNumero();
        void setNumero(int numero);
        ;
    };
     
    #endif /* JOUEUR_H_ */
     
     
    Grille.cpp:
     
    #include "Grille.h"
    Grille::Grille()
    {
        // Start of user code for the default constructor
        // Attributes
        initialiser();
        // End of user code for the default constructor
    }
     
    Grille::~Grille()
    {
    }
    void Grille::initialiser() {
            // Start of user code for Grille.initialiser
        	Colonne col;
    	    colonnes = new list<Colonne>();
        	for (int i=0;i<NBCOLONNES;i++){
        		col = new Colonne();
        		colonnes.push_back((col));
        	}
        	estRemplie=false;
        	estPrete=true;
     
            // End of user code
     
        }
     
        // Accessors
     
     
     bool Grille:: getEstRemplie() {
    		return estRemplie;
    	}
     
     void Grille:: setEstRemplie(bool estR) {
    		estRemplie = estR;
    	}
     
      int Grille:: getNbLignes() {
    		return NBLIGNES;
    	}
     
     
        /**
         * Return estPret
         * @return Boolean
         */
    bool Grille:: getEstPrete(){
            // Start of user code for getEstPret
            return estPrete;
            // End of user code
        }
     
        /**
         * Set the value of estPret.
         * @param myestPret
         */
       void Grille:: setEstPrete(bool myestPret){
            // Start of user code for setEstPret
            estPrete = myestPret;
            // End of user code
        }
     
        /**
         * Return colonne
         * @return Colonne
         */
       list<Colonne> Grille:: getColonnes(){
            // Start of user code for getColonne
            return colonnes;
            // End of user code
        }
     
        /**
         * Set the value of colonne.
         * @param mycolonne
         */
        void Grille:: setColonnes(list<Colonne> mycolonnes){
            // Start of user code for setColonne
            colonnes = mycolonnes;
            // End of user code
        }
     
     
    	 int Grille:: getNbColonnes() {
    		return NBCOLONNES;
    	}
     
    Colonne Grille :: getColonne(int i){
    	list <Case>::iterator k= colonnes.begin();
    	int cmp=0;
        while (k!=colonnes.end() && cmp < i )
        {
        	cmp=cmp+1;
        }
       return *k;
     
     
    	 }
        // Methods
     
    	bool Grille:: mancheGagnee(Colonne myColonne) {
    		// TODO Auto-generated method stub
     
    		int i,j;
    		int x,y; //indices de la case qui vient d'etre jouée
    		int nbAlignes;
    		Joueur joueurCourant;
    		bool gagne=false;
    // brahim a tester pour voir si c'est le bon indice
            joueurCourant = myColonne.getCase(myColonne.getNbJetons()-1).getJoueur();
            list <Colonne> listcolonne =  myColonne.getGrille().getColonnes();
            x = indiceColonne(myColonne);
    // brahim  a tester
    		y=myColonne.getNbJetons()-1;
    		//On commence par vérifier la ligne
    		j=max(0,x-3);// Pour ne pas sortir de la grille
    		i=y;//on reste sur la ligne i lors de ce parcours
    		nbAlignes=0;
    		while (gagne==false && j<=min(x+3,getNbColonnes()-1)){
     
    			// Quand le jeton rencontré est au joueur courant on augmente nbAlignes
    			if(getColonne(j).getCase(i).getJoueur()== joueurCourant){
     
    				nbAlignes++;
     
    				// Et on teste si nbAlignes==4
    				// Si oui le joueur courant a gagné
    				if(nbAlignes == 4){
    					gagne=true;
    				}
     
    			// Sinon on recommence avec nbAlignes=0
    			} else {
    				nbAlignes=0;
    			}
    			j++;
    		}
     
    		//On verifie ensuite la colonne
    		i=max(0,y-3);// Pour ne pas sortir de la grille
    		j=x;//on reste sur la colonne j lors de ce parcours
    		nbAlignes=0;
    		while (gagne==false && i<=min(y+3,getNbLignes()-1)){
     
    			// Quand le jeton rencontré est au joueur courant on augmente nbAlignes
    			if(getColonne(j).getCase(i).getJoueur()== joueurCourant){
     
    				nbAlignes++;
     
    				// Et on teste si nbAlignes==4
    				// Si oui le joueur courant a gagné
    				if(nbAlignes == 4){
    					gagne=true;
    				}
     
    			// Sinon on recommence avec nbAlignes=0
    			} else {
    				nbAlignes=0;
    			}
    			i++;
    		}
     
    		//On verifie ensuite la diagonale ascendante
    		i=max(0,y-3);// Pour ne pas sortir de la grille
    		j=max(0,x-3);//Pour ne pas sortir de la grille
    		nbAlignes=0;
    		while (gagne==false && i<=min(y+3,getNbLignes()-1)
    							&& j<=min(x+3,getNbColonnes()-1)){
     
    			// Quand le jeton rencontré est au joueur courant on augmente nbAlignes
    			if(getColonne(j).getCase(i).getJoueur()== joueurCourant){
     
    				nbAlignes++;
     
    				// Et on teste si nbAlignes==4
    				// Si oui le joueur courant a gagné
    				if(nbAlignes == 4){
    					gagne=true;
    				}
     
    			// Sinon on recommence avec nbAlignes=0
    			} else {
    				nbAlignes=0;
    			}
    			i++;
    			j++;
    		}
     
    		//On verifie ensuite la diagonale descendante
    		i=min(y+3,getNbLignes()-1);// Pour ne pas sortir de la grille
    		j=max(0,x-3);//Pour ne pas sortir de la grille
    		nbAlignes=0;
    		while (gagne==false && i>=max(0,y-3)
    							&& j<=min(x+3,getNbColonnes()-1)){
     
    			// Quand le jeton rencontré est au joueur courant on augmente nbAlignes
    			if(getColonne(j).getCase(i).getJoueur()== joueurCourant){
     
    				nbAlignes++;
     
    				// Et on teste si nbAlignes==4
    				// Si oui le joueur courant a gagné
    				if(nbAlignes == 4){
    					gagne=true;
    				}
     
    			// Sinon on recommence avec nbAlignes=0
    			} else {
    				nbAlignes=0;
    			}
    			i--;
    			j++;
    		}
     
    		return gagne;
     
    	}
     
    	void Grille::calculerEstRemplie() {
    		// TODO Auto-generated method stub
    		bool estremplie=true;
    		for(int i=0;i<getNbColonnes();i++){
    			if(getColonne(i).getEstRemplie()==false){
    				estremplie=false;
    			}
    		}
    		setEstRemplie(estremplie);
    	}
     
     void Grille:: placerJeton(Colonne colonne,Joueur joueur){
    		Case myCase= new Case(colonne);
    		myCase.setJoueur(joueur);
    		colonne.ajouterCase(myCase);
     
    	}
     int Grille::indiceColonne(Colonne c)
     {
     
    		list <Joueur>::iterator k= colonnes.begin();
    		int cmp=0;
    	    while (k!=colonnes.end() && c != *k  )
    	    {
    	    	cmp=cmp+1;
    	    }
    	   return cmp-1;
     
     }
    Merci d'avance pour vos réponses

  3. #3
    Membre expérimenté Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Points : 1 396
    Points
    1 396
    Par défaut
    Salut et bienvenu sur le forum.

    Il faut que tu édites tes posts et mettre en balise [CODE ] du code [/ CODE] tes codes (le raccourcis # dans l'éditeur) sinon tu vas te faire taper sur les doigts.

    Ensuite pour ce que j'ai pu en voir, c'est simplement parce que tu inclus un "Colonne.cpp" alors qu'on inclus JAMAIS de .cpp mais seulement des fichiers d'entêtes (.h dans ton cas).

    Pour les autres erreurs, parce que c'est sur qu'il y en a, et avant de revenir poster pour nous demander de l'aide, il est d'usage de chercher par soi-même sur Google et de relire attentivement son code, et sinon tu essayes de compiler petit bout par petit bout. Tu fais un fichier "test.cpp" dans lequel tu instancies que une case par exemple (en incluant que ce fichier bien sur...) puis incrémentalement, tu ajoutes des composants, ça sera beaucoup plus facile pour toi.

    Bon amusement

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 131
    Points : 33 065
    Points
    33 065
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    je rajouterai qu'il s'agit sûrement d'un problème d'include nécessitant une forward declaration.

    Mais ton code est sûrement incorrect à plusieurs niveaux, notamment quand je vois un getter retourner un Colonne retourner par copie.

  5. #5
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Merci pour vis réponses
    Merci pour vos réponses, je débute en C++, du coup j'ai beaucoup de mal, désolé pour la façon avec laquelle j'ai posté mes codes, la prochaine fois je ferais plus attention.

    Le include .cpp je l'ai changé en .h mais toujours le même problème.

    c'est quoi une forward declaration?
    Je suis pas sûr de comprendre votre phrase "notamment quand je vois un getter retourner un Colonne retourner par copie"
    Je fais un getColonne pour retourner attribut colonne de la classe Case ...

  6. #6
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Trademark, oui vous avez raison je vais essayer de faire fichier par fichier, ça sera plus long mais bon, le problème c'est que j'ai repris un projet de java du coup je pensais qui n’aurais pas de problème, mais je me suis trompé

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 131
    Points : 33 065
    Points
    33 065
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par tamtoum1987 Voir le message
    j'ai repris un projet de java
    Zut, le temps que je réponde pour demander si tu venais pas du monde Java, voilà la réponse.

    Java a tendance à cacher beaucoup de choses au novice, en particulier la différence entre un objet et une référence/pointeur.
    Ce qui est là le problème que je pointais.

    ton getColonne retournera une copie de l'objet colonne. Je ne pense pas qu'il s'agisse de l'opération souhaitée. Et puisque c'est une source Java, j'en suis quasiment sûr.

    Pour les forward declaration, c'est pour contrer ton problème qui est lié à des inclusions cycliques
    - Grille inclus colonne qui inclus Grille

    Quand tu compiles - en fait le précompilateur - va remplacer les include par le contenu du fichier.
    Suis cet exemple simplifié de ton code
    colonne.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #ifndef COLONNE
    #define COLONNE
    #include "grille.h"
    class Colonne
    {
     private:
     Grille maGrille;
    };
    #endif // COLONNE
    grille.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #ifndef GRILLE
    #define GRILLE
    #include "grille.h"
    class Grille
    {
     private:
     Colonne maColonne;
    };
    #endif // GRILLE
    Tu va compiler grille.cpp qui commence par include grille.h
    -- compilation grille.cpp
    - inclusion de grille.h
    - inclusion de colonne.h
    > en lisant colonne.h, Grille n'est pas encore déclaré !


    Pour corriger ça, on va préférer les forward declation dans les header.
    Pour utiliser les forward declaration, on va remplacer notre header colonne.h comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #ifndef COLONNE
    #define COLONNE
    class Grille; // forward declaration
    class Colonne
    {
     private:
     Grille maGrille;
    };
    #endif // COLONNE

  8. #8
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Merci
    Bousk un grand merci à toi


    Grace à ton explication bien détaillé j'ai pu résoudre mon problème et effectivement c'est à cause de inclusion circulaire en plus de l'histoire de référence, je m'en doutais bien que le problème venait un peu de ces inclusions mais je me disais vu que ça marchais en java pourquoi pas en c++ aussi :lol.

    Merci problème résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. does not name a type
    Par emmesse dans le forum Débuter
    Réponses: 3
    Dernier message: 27/08/2014, 17h23
  2. error: ‘i1’ does not name a type
    Par JackStrieger dans le forum C++
    Réponses: 3
    Dernier message: 15/01/2014, 16h23
  3. [QtKeychain] 'Q_CORE_EXPORT_INLINE' does not name a type
    Par sliverTwist dans le forum Débuter
    Réponses: 18
    Dernier message: 06/03/2013, 16h45
  4. ‘Arbre’ does not name a type
    Par SAKDOSS dans le forum C++
    Réponses: 12
    Dernier message: 21/04/2009, 15h53
  5. error : does not name a type // je n'y comprends rien
    Par djobanaille dans le forum C++
    Réponses: 6
    Dernier message: 19/11/2005, 11h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo