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 :

comment résoudre un problème de multiple définition


Sujet :

C++

  1. #1
    Débutant Avatar de razily
    Inscrit en
    Février 2009
    Messages
    376
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 376
    Points : 154
    Points
    154
    Par défaut comment résoudre un problème de multiple définition
    Bonjour à tous ;
    j'ai plusieurs fichiers et plusieurs classes ; mais j'ai nommé SS une matrice composée de Case
    commun.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #ifndef COMMUN_H_
    #define COMMUN_H_
     
     std::vector< std::vector<Case*> > SS(10,std::vector<Case*>(10));
    #endif /* COMMUN_H_ */
    Plateau.h
    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
     
    #ifndef _PLATEAU_H
    #define	_PLATEAU_H
    #include <vector>
    #include "Case.h"
    #include "Piece.h"
     
     
     
    class Plateau {
     
    	protected:
     
     
     
    public:
        Plateau();
        Plateau(const Plateau& orig);
        virtual ~Plateau();
        void Affichage();
        void Affichage2(Piece& P1);
     
    public  :
     
     
     
     
    };
    Plateau.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
    #include "Plateau.h"
    #include "Case.h"
    #include "Pion.h"
    #include <iostream>
    #include "Commun.h"
    
    using namespace std ;
    
    Plateau::Plateau(){
    Case* P1 = new Case(0,9,' ');
    	Case* P2 = new Case(1,9,'a');
    	Case* P3 = new Case(2,9,'b');
    	Case* P4 = new Case(3,9,'c');
    	Case* P5 = new Case(4,9,'d');
    	Case* P6 = new Case(5,9,'e');
    
    SS[0][0] = P1;
    	SS[0][1] = P2;
    	SS[0][2] = P3;
    	SS[0][3] = P4;
    	SS[0][4] = P5;
    	SS[0][5] = P6;
    
    }
    et dans piece.cpp j'ai encore besoin de SS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Piece::Piece(int col, int lig, char* coul, char etiq){
    
    	// on lie le pointeur à la case concernée
    
    this->place = SS[lig][col];
    place->SetEtiquetteCase(etiq);
    couleur = coul ;
    etiq_Piece = etiq;
    
    
    }
    mais mon problème c'est que algré le fait que j'ai tenté de mettre dans un fichier à part commun.h le vector SS
    Eclipse m'indique tjrs des messages de ce genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Description	Resource	Path	Location	Type
    first defined here	Chess		line 0, external location: src/Plateau.o:C:\MinGW\include\c++\3.4.5\bits\stl_vector.h	C/C++ Problem
    Description	Resource	Path	Location	Type
    multiple definition of `SS'	Chess		line 0, external location: C:\MinGW\include\c++\3.4.5\ext\new_allocator.h	C/C++ Problem
    et le problème c'est qu'il n'indique pas où se trouve l'erreur mais seulement sur la console

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 617
    Points
    15 617
    Par défaut
    Bonjour

    Si je comprend bien, tu essaies d'utiliser la variable SS comme une variable globale ? Ca me semble pas top comme approche.

    remarques :
    - pourquoi créer une classe "case" ? a priori, elle n'a aucune fonction (à part se dessiner ?)
    - SS a priori devrait être membre de Plateau
    - d'un point de vue "objets", tu as un plateau qui contient plusieurs pieces de différents types. Ca te donne les class et les relations entre les classes
    - perso, j'aime pas des vector de vector, je préfère un vector de taille n*m avec un accesseur

    Voila comment je ferais :
    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
    enum Couleur {BLANC, NOIR}
     
    class Piece
    {
       Piece(int x, int y, Type t, Couleur C);
       virtual dessine_piece();
    };
     
    class Tour : public Piece
    {
    };
     
    class Fou : public Piece
    {
    };
     
    // à faire pour chaque type de piece
    Plateau.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include "Piece.h"
     
    class Plateau
    {
       Plateau();
       dessine_plateau();
       vector<Piece*> pieces;
    };
    Plateau.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
    #include "Plateau.h"
     
    Plateau::Plateau()
    {
       // initialisation des pièces au début de partie
       pieces.push_back(new Tour(1, 1, BLANC));
       pieces.push_back(new Fou(1, 2, BLANC));
       // à faire pour chaque piece
     
       // on dessine le plateau et les pieces
       dessine_plateau();
    }
     
    Plateau::dessine_plateau()
    {
       // on dessine chaque case
       for(int x=0; x<8; ++x)
          for(int y=0; y<8; ++y)
             if(est_pair(x+y)) dessine_case_blanche();
             else dessine_case_noir();
     
       for(vector<Piece*>::iterator it=pieces.begin(); it!=pieces.end(); ++it)
          (*it)->dessine_piece();
    }
    Reste plus qu'a gérer les déplacements et les suppressions de pièces.
    Pour dessine, tu peux transmettre un pointeur vers ton "outil" de dessin (en fonction de l'environnement sur lequel tu travailles) dans les fonctions "dessine_" ou lors de la création des objets.

  3. #3
    Débutant Avatar de razily
    Inscrit en
    Février 2009
    Messages
    376
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 376
    Points : 154
    Points
    154
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    Bonjour

    Si je comprend bien, tu essaies d'utiliser la variable SS comme une variable globale ? Ca me semble pas top comme approche.

    remarques :
    - pourquoi créer une classe "case" ? a priori, elle n'a aucune fonction (à part se dessiner ?)
    - SS a priori devrait être membre de Plateau
    - d'un point de vue "objets", tu as un plateau qui contient plusieurs pieces de différents types. Ca te donne les class et les relations entre les classes
    - perso, j'aime pas des vector de vector, je préfère un vector de taille n*m avec un accesseur

    Voila comment je ferais :
    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
    enum Couleur {BLANC, NOIR}
     
    class Piece
    {
       Piece(int x, int y, Type t, Couleur C);
       virtual dessine_piece();
    };
     
    class Tour : public Piece
    {
    };
     
    class Fou : public Piece
    {
    };
     
    // à faire pour chaque type de piece
    Plateau.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include "Piece.h"
     
    class Plateau
    {
       Plateau();
       dessine_plateau();
       vector<Piece*> pieces;
    };
    Plateau.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
    #include "Plateau.h"
     
    Plateau::Plateau()
    {
       // initialisation des pièces au début de partie
       pieces.push_back(new Tour(1, 1, BLANC));
       pieces.push_back(new Fou(1, 2, BLANC));
       // à faire pour chaque piece
     
       // on dessine le plateau et les pieces
       dessine_plateau();
    }
     
    Plateau::dessine_plateau()
    {
       // on dessine chaque case
       for(int x=0; x<8; ++x)
          for(int y=0; y<8; ++y)
             if(est_pair(x+y)) dessine_case_blanche();
             else dessine_case_noir();
     
       for(vector<Piece*>::iterator it=pieces.begin(); it!=pieces.end(); ++it)
          (*it)->dessine_piece();
    }
    Reste plus qu'a gérer les déplacements et les suppressions de pièces.
    Pour dessine, tu peux transmettre un pointeur vers ton "outil" de dessin (en fonction de l'environnement sur lequel tu travailles) dans les fonctions "dessine_" ou lors de la création des objets.
    -------------------------------------------------------------
    oui j'ai déjà songé à cette idée , sauf que si on suit la logique des chose ; les cases supposées vides aussi sur le plateau sont considérés comme des pièces mais marqués ('_')
    par contre ici ; il y a une distinction réelle entre Case et Pièce , mais la difficulté revient à la gestion de ce pointeur sur la case

  4. #4
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 617
    Points
    15 617
    Par défaut
    Pourquoi veux tu considérer une case vide comme une pièce ???

    Et quel est ce problème de gestion de pointeur dont tu parles ?

  5. #5
    Débutant Avatar de razily
    Inscrit en
    Février 2009
    Messages
    376
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 376
    Points : 154
    Points
    154
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    Pourquoi veux tu considérer une case vide comme une pièce ???

    Et quel est ce problème de gestion de pointeur dont tu parles ?
    -----------------------------------------------------------------------
    car quand on fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     vector<Piece*> pieces;
    c'est que le plateau est composé de vecteur dans l'élement est de type pièce ; ceci dit mais si c'est vide (marqué '_' il est tjrs considéré comme pièce mais ni un pion ni un cavalier etc ...)

    le pointeur que j'évoque c'est le pointeur dans la classe Case (place )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class Piece {
    
    	private:
    	char* couleur;
    	Case* place;
    	char etiq_Piece;
    le problème c'est que comment déclarer le vector sur plateau ; pour que place puisse le pointer et le reconnaître ??
    j'ai fait cela en séparant le vector SS dans un fichier séparé ("commun.h")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #ifndef COMMUN_H_
    #define COMMUN_H_
    #include <vector>
    #include "Case.h"
     
     std::vector< std::vector<Case*> > SS(10,std::vector<Case*>(10));
    #endif /* COMMUN_H_ */
    mais le problème c'est qu'enrevenant dans pièce.cpp il ne reconnait pas SS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include "Piece.h"
    #include "Case.h"
    #include "Commun.h"
    Piece::Piece(int col, int lig, char* coul, char etiq){
    
    	// on lie le pointeur à la case concernée
    
    this->place = SS[lig][col];
    place->SetEtiquetteCase(etiq);
    couleur = coul ;
    etiq_Piece = etiq;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Description	Resource	Path	Location	Type
    `SS' was not declared in this scope	Piece.cpp	/Chess/src	line 34	C/C++ Problem
     
    Description	Resource	Path	Location	Type
    unused variable 'SS'	Piece.cpp	/Chess/src	line 34	C/C++ Problem
    mais je crois ; que le code marche comme il faut si on arrive ; à résoudre ce genre de problème .
    en fait j'ai insisté à utiliser une matrice car la suite de mon algo que j'ai déjà préparé pour les différentes pièces est basée sur un tableau à 2 dimensions

    merci !

  6. #6
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 617
    Points
    15 617
    Par défaut
    Pourquoi veux-tu absolument mettre dans ton vecteur des case vide ? une case vide ne fait rien. Il n'y a pas de raison de la créer.

    Pour partager ton plateau (vecteur de vecteur) tu n'as pas besoin de faire une variable globale :

    plateau.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <vector>
    class Case;
     
    class Plateau
    {
       vector< vector<Case*> > cases;
    };
    plateau.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include case.h
     
    // tu utilises ton vecteur
    case.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class Plateau;
     
    class Case
    {
       Case(Plateau* parent, /* reste des paramètres*/);
    };
    case.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include "plateau.h"
     
    // tu utilises ton vecteur ici aussi avec parent->cases
    Je pense que ton problème est mal conçu et que tu retrouves à utiliser des méthodes "spéciales".

    Essaies de faire les choses par étapes :
    1. créer un programme "plateau" qui dessine un plateau. Compile et fait tourner ton programme pour vérifier qu'il dessine correctement ton plateau.
    2. ajouter 1 pièce dans ton plateau. Compile et fait tourner ton programme pour vérifier que ta pièce se dessine correctement
    3. tu peux ajouter maintenant la gestion des déplacements sur ta pièce. Compile et fait tourner ton programme
    4. pour finir, tu ajoutes plusieurs pièces. Puis compile et fait tourner ton programme.

    Pour résoudre un problème, il faut savoir le découper un plusieurs petits problèmes simpels

  7. #7
    Débutant Avatar de razily
    Inscrit en
    Février 2009
    Messages
    376
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 376
    Points : 154
    Points
    154
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    Pourquoi veux-tu absolument mettre dans ton vecteur des case vide ? une case vide ne fait rien. Il n'y a pas de raison de la créer.

    Pour partager ton plateau (vecteur de vecteur) tu n'as pas besoin de faire une variable globale :

    plateau.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <vector>
    class Case;
     
    class Plateau
    {
       vector< vector<Case*> > cases;
    };
    plateau.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include case.h
     
    // tu utilises ton vecteur
    case.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class Plateau;
     
    class Case
    {
       Case(Plateau* parent, /* reste des paramètres*/);
    };
    case.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include "plateau.h"
     
    // tu utilises ton vecteur ici aussi avec parent->cases
    Je pense que ton problème est mal conçu et que tu retrouves à utiliser des méthodes "spéciales".

    Essaies de faire les choses par étapes :
    1. créer un programme "plateau" qui dessine un plateau. Compile et fait tourner ton programme pour vérifier qu'il dessine correctement ton plateau.
    2. ajouter 1 pièce dans ton plateau. Compile et fait tourner ton programme pour vérifier que ta pièce se dessine correctement
    3. tu peux ajouter maintenant la gestion des déplacements sur ta pièce. Compile et fait tourner ton programme
    4. pour finir, tu ajoutes plusieurs pièces. Puis compile et fait tourner ton programme.

    Pour résoudre un problème, il faut savoir le découper un plusieurs petits problèmes simpels

    Bonjour ,
    finalement j'ai suivi vos méthodes mais j'ai juste une question qui vous emble évidente mais qui me pose problème ;
    là on crée un vector de Pièce
    vector <Piece*> SS ;
    donc mon problème c'est au niveau de l'affichage
    si le vector contient un pièce après l' avoir parcouru il faut afficher son étiquette , par contre si c'est vide on fait comment pour dire que c'est '_' il faut tracer

    voici un bout du code et c'est sur l'affichege sur le plateau que je suis coincé car je ne sais pas vraiment comment m'y prendre

    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
     
     
    #include<iostream>
    #include<vector>
     
    using namespace std ;
     class Coordonnee {
     
    	 public:
    	 Coordonnee():ligne(0),colonne(0){};
    	 Coordonnee(int x, int y):ligne(x),colonne(y){}
    	 void setCoordonnee(int x , int y);
    	 void setLigne(int x);
    	 void setColonne(int y);
    	 int  getLigne();
    	 int getColonne();
    	 ~Coordonnee();
     
    	private :
    	int ligne ;
    	int colonne ;
    	};
     
    	void Coordonnee::setCoordonnee(int x , int y){
    		ligne = x;
    		colonne = y ;
     
    		}
    	 void Coordonnee::setLigne(int x){
    		 ligne = x;
    		 }
    	 void Coordonnee::setColonne(int y){
    		 colonne = y ;
    		 }
    	 int Coordonnee::getLigne(){
    		 return ligne ;
    		 }
    	 int Coordonnee::getColonne(){
    		 return colonne;
    		 }
     
     
     
     class Piece {
    	 public:
    	 Piece():place(0,0){};
    	 Piece(int x , int y);
    	 void AffichagePiece();
    	~Piece();
    	// virtual ~Piece();
     
    	protected :
    	Coordonnee place ;
     
    	};
     
    	Piece::Piece(int x , int y){
    		place.setLigne(x);
    		place.setColonne(y);
     
    		}
    	//virtual void AffichagePiece();
     
     
     
    class Pion : public Piece {
    	public:
    	Pion():Piece(0,0),couleur(1),etiquette('R'){};
    	Pion(int x , int y , char coul , char etiq);
    	~Pion();
    	//virtual ~Pion();
    	void deplacer(int x , int y);
    	char getEtiq();
    	 void AffichagePiece();
     
     
    		private :
    		int couleur ;
    		char etiquette ;
    		};
     
    		Pion::Pion(int x , int y , char coul , char etiq){
    			Piece(x,y);
    			couleur= coul;
    			etiquette= etiq;
     
    			};
     
    			void Pion::deplacer(int x , int y){
    				int m = place.getLigne() + x ;
    				place.setLigne(m);
    				int z = place.getColonne()+ y ;
    				place.setColonne(z);
     
    				}
    		char Pion::getEtiq(){
    			return etiquette;
    			}
     
    	 void Pion::AffichagePiece(){
     
    			cout << this->getEtiq() ;
    			}
     
     
     
     
     class Plateau {
    	 public :
    	 Plateau();
    	 ~Plateau();
    	 void Affichage();
    	 void AffichageCase();
     
    	private :
    	vector <Piece*> SS ;
    	};
     
    	Plateau::Plateau(){
     
    		Piece *P1 = new Piece();
    		Piece *P2 = new Piece(1,2);
    		Pion *Tour = new Pion(4,3,'N','T');
    		Pion *Roi = new Pion(5,4,'B','V');
    		SS.push_back(P1);
    		SS.push_back(P2);
    		SS.push_back(Tour);
    		SS.push_back(Roi);
     
    		}
     
    		void Plateau::Affichage(){
     
    			for(int i= 0 ; i< 8;i++){
    				for(int j = 0 ;j<8;j++){
    					this->AffichageCase();
    				}
    			}
     
    			vector <Piece*>::iterator i ;
     
    			for(i=SS.begin();i!=SS.end();i++){
     
    				(*i)->AffichagePiece();
    			}
     
     
     
    			}
     
    			void Plateau::AffichageCase(){
     
    				cout << "_" ;
     
    				}
     
     
     
     
    	int main (){
     
    		Plateau P1 ;	
    		P1.Affichage();
     
    		return 0 ;
     
    		}

    merci d'avance pour vos suggestions

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Quelques petits trucs :

    Pourquoi utilises tu un vecteur ? Pourquoi pas un tableau à 2 dimensions, contenant directement les coordonnées d'un piéce ?

    Personnellement, je sépare chacune de mes classes dans des fichiers différents.

    Sinon, pourquoi ne pas mettre 'null' au pointeur vers une piéce contenu dans la case. Si le pointeur est null, tu affiches '-' sinon, tu affiches l'étiquette.

    Sinon, as tu essayé de mettre par écrit, au moins en quelques petites phrases, le fonctionnement de quelques méthodes, les classes que tu doit créer etc ... ?
    Ca te permettra de ne pas programmer sas savoir la suite, sinon tu seras assurément obligé de modifier pas mal de trucs au fil du temps ...

  9. #9
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 264
    Points : 6 683
    Points
    6 683
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par simpa Voir le message
    Pourquoi utilises tu un vecteur ? Pourquoi pas un tableau à 2 dimensions, contenant directement les coordonnées d'un piéce ?
    Sans doute parce que c'est la meilleure façon de procéder en c++.

    Pour le reste je suis d'accord

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/06/2008, 10h23
  2. Réponses: 19
    Dernier message: 05/01/2008, 16h06
  3. Comment résoudre ce probléme : Exception d'E/S: Connection refused ?
    Par adil_vpb dans le forum Connexions aux bases de données
    Réponses: 17
    Dernier message: 19/11/2007, 16h19
  4. Réponses: 12
    Dernier message: 27/08/2007, 12h33
  5. Réponses: 3
    Dernier message: 19/05/2006, 15h54

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