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 :

Class B utilise une liste de A qui elle meme utilise une liste de ints => erreur


Sujet :

C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Class B utilise une liste de A qui elle meme utilise une liste de ints => erreur
    Soit les deux classes suivantes :
    Classe A:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #include <Afxtempl.h>
    class A  
    {
    	CList<int,int> ar;
     
    public:
    	A();
    	virtual ~A();
     
    };
    Classe B:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include"A.h"
    #include <Afxtempl.h>
     
    class B  
    {
    	CList<A,A> liste;
    public:
    	B();
    	virtual ~B();
     
    };
    Dans un projet MFC Dialog, ça ne compile pas et affiche le message d'erreur suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    afxtempl.h(1064) : error C2664: 'struct __POSITION *__thiscall CList<class A,class A>::AddTail(class A)' : cannot convert parameter 1 from 'class A' to 'class A'
    Je trouve ça bizarre.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    C'est sûrement une histoire de constructeur de copie: Si CList<> n'a pas de constructeur de copie public (et c'est probable, car celui de CObject est privé), alors Visual ne peut pas générer un constructeur de copie par défaut pour A : Tu vas devoir en créer un toi-même dans lequel tu feras la copie manuellement.

    Ou bien, passer ton objet de type A par référence et non par valeur...

Discussions similaires

  1. Réponses: 21
    Dernier message: 06/01/2012, 17h11
  2. Réponses: 13
    Dernier message: 27/11/2007, 11h06
  3. Réponses: 5
    Dernier message: 31/05/2007, 13h51
  4. [HTML] click lien sur une cellule et page qui s'ouvre dans une autre cellule
    Par mariogarcia dans le forum Balisage (X)HTML et validation W3C
    Réponses: 26
    Dernier message: 24/05/2006, 14h37
  5. Remplacer une ressource du réseau lorsqu'elle est utilisée
    Par Charette dans le forum Web & réseau
    Réponses: 6
    Dernier message: 22/06/2005, 11h46

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