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 :

Tableau d'objets impl�mentation


Sujet :

C++

  1. #1
    Membre �clair�
    Homme Profil pro
    Architecte technique
    Inscrit en
    F�vrier 2004
    Messages
    477
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 477
    Par d�faut Tableau d'objets impl�mentation
    Bonjour,

    Je souhaite cr�er un tableau contenant des objets mais j'ai une erreur qui se g�n�re et je ne comprends pas pourquoi !

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    TCompareResult * result = new TCompareResult(arg1 , arg2)
    TCompareResult * tabResult = new TCompareResult[nbCombinaison];
    tabResult[0] = result;
    Et voici l'erreur g�n�r�:
    [C++ Erreur] Unit1.cpp(821): E2094 'operator=' non impl�ment� dans le type 'TCompareResult' pour les arguments de type 'TCompareResult *'

    Quelle est la solution � mon probl�me ?

    Merci

  2. #2
    R�dacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par d�faut
    En faisant �a : tabResult[0] = result;, tu mets un pointeur dans ton tableau (qui est cens� avoir des classes, et non des pointeurs).

    Ceci devrait marcher :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    TCompareResult  result(arg1 , arg2);
    TCompareResult * tabResult = new TCompareResult[nbCombinaison];
    tabResult[0] = result;
    Edit : Tu as oubli� un ; en plus � la fin de ta premi�re ligne.

  3. #3
    Membre �clair�
    Homme Profil pro
    Architecte technique
    Inscrit en
    F�vrier 2004
    Messages
    477
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 477
    Par d�faut
    Oui mais moi ce que j'aimerais c'est de mettre dans un tableau dynamique des objets cr�� dynamiquement!

    Par cons�que il faut que je garde la d�claration TCompareResult * result = new TCompareResult(arg1 , arg2)

  4. #4
    R�dacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par d�faut
    Tu as plusieurs choix :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    TCompareResult*  result = new TCompareResult(arg1 , arg2);
    TCompareResult * tabResult = new TCompareResult[nbCombinaison];
    tabResult[0] = *result;
    Ou :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    TCompareResult*  result = new TCompareResult(arg1 , arg2);
    TCompareResult ** tabResult = new *TCompareResult[nbCombinaison];
    tabResult[0] = result;


    Il faudra faire attention pour la destruction des instances. En effet, avec la premi�re m�thode, tu peux supprimer directement l'instance result, mais pas avec la seconde.

  5. #5
    R�dacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par d�faut
    Je viens seulement de penser que le premier cas peut te poser des probl�mes si tu r�alises des allocations dynamiques dans le constructeur. Tu peux avoir des probl�mes si tu appelles le destructeur apr�s (l'instance dans le tableau aura certains champs partiellement d�truits).

    Tu peux donc pr�ferer la deuxi�me m�thode qui �vite ce probl�me et les recopie de la classe dans le tableau.

  6. #6
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Tu as m�lang� les niveaux d'indirection.
    Et accessoirement, les vecteurs c'est bien.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

Discussions similaires

  1. Impl�mentation tableau d'objet
    Par punisher999 dans le forum C#
    R�ponses: 1
    Dernier message: 17/02/2009, 20h59
  2. Tableau d'objets
    Par moulefrite dans le forum MFC
    R�ponses: 7
    Dernier message: 15/06/2004, 14h14
  3. Sauvegarde / Chargement d'un tableau d'objets
    Par Naruto dans le forum Langage
    R�ponses: 3
    Dernier message: 18/05/2004, 14h34
  4. [VB6]Tableau d'objet withevents
    Par soazig dans le forum VB 6 et ant�rieur
    R�ponses: 8
    Dernier message: 13/02/2004, 19h44
  5. [VB6] [Syntaxe] Fonction renvoyant un tableau d'objets
    Par Troopers dans le forum VB 6 et ant�rieur
    R�ponses: 2
    Dernier message: 18/10/2002, 15h33

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