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 :

Petit pb de Vecteur


Sujet :

C++

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1
    Par défaut Petit pb de Vecteur
    Salut,

    J'effectue mes premiers pas avec VS 2003 et j'ai un petit soucis avec un vecteur. Le code suivant est une version (ultra-)simplifiée de mon projet :


    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
     
    //A.h
    #ifndef A_H
    #define A_H
    #include <vector>
     
    class B;
     
    class A
    {
    public:
    	A();
    private:
    	vector<B> LesB;
    };
    #endif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    //A.cpp
    #include "stdafx.h"
    #include "A.h"
    #include "b.h"
     
    A::A()
    {
    	B un_b(this);
    	LesB.push_back(un_b);
    }
    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
     
    //B.h
    #ifndef B_H
    #define B_H
     
    class A;
     
    class B
    {
    public:
    	B(A*un_pA);
    private:
    	A*pA;
    };
    #endif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //B.cpp
    #include "stdafx.h"
    #include "A.h"
    #include "B.h"
     
    B::B(A*un_pA):
    pA(un_pA){}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    //test_clsAB.cpp (main)
    #include "stdafx.h"
    #include "A.h"
     
    int main(int argc, _TCHAR * argv[])
    {
    	//Le problème intervient lorsque j'enlève les commentaires de la ligne suivante :
    	A obj;
    	return 0;
    }
    Enfin, voici l'unique erreur de compilation retournée :
    c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\vector(795): error C2036: 'std::vector<_Ty>::pointer' : taille inconnue with [ _Ty=B ]

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Il ne connaît pas B à cet endroit dans main, donc ça plante.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    Je mettrais :
    dans le fichier A.h

Discussions similaires

  1. Petite question sur les vecteurs
    Par Zoners dans le forum C++
    Réponses: 2
    Dernier message: 18/01/2011, 00h49
  2. Petits soucis de tri sur un vecteur
    Par d.jphilippe dans le forum Fortran
    Réponses: 3
    Dernier message: 01/08/2008, 23h00
  3. Réponses: 10
    Dernier message: 02/12/2007, 00h13
  4. petit problème de vecteur
    Par Ulfguard dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 16/05/2007, 11h09
  5. Petits soucis avec des vecteurs
    Par Superzobi dans le forum SL & STL
    Réponses: 3
    Dernier message: 03/05/2007, 09h04

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