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

SL & STL C++ Discussion :

Passage de pointeur de vector en paramètre


Sujet :

SL & STL C++

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 83
    Par défaut Passage de pointeur de vector en paramètre
    Bonjour,

    J'ai un soucis de passage de pointeur de vector en paramètre.
    Dans mon main, je déclare un vector <FIFO> fifo (nb_fifo); ainsi qu'un vector <Feeder *> fee(nb_fifo); comme constructeurs.

    Ma classe Feeder permet, entre autre, de remplir une FIFO . J'aimerai donc passer comme argument à la méthode qui permet de remplir la fifo fifo(i).

    Voici mon code :

    Main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ...
    #include "feeder.h"
    #include "fifo.h"
    void main()
    { ...
      vector <FIFO> fifo (nb_fifo);
      vector <Feeder *> fee(nb_fifo);
      for(int i = 0;i<nb_fifo;i++)
         fee[i] = new Feeder(...,&fifo[i]);//Je lance plusieurs feeder car il y a plusieurs fifos a remplir
         fee[i]->remplis_fifo();//dans remplis_fifo() se passe des actions tels this->fifo.Empiler("blabla");
      ...
    }
    Classe Feeder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include "fifo.h"
    class Feeder
    {
         public:
            Feeder(..., FIFO *F) 
            {
                    ...
      		f=F;
            }
            ...
            FIFO *f;
            ...
    }
    Et mon programme plante avec l'erreur :
    error LNK2022: échec de l'opération sur les métadonnées (8013118D) : Informations sur la disposition incohérentes dans des types dupliqués (Feeder) : (0x0200004f).

    LE problème vient de la facon dont je manipule le pointeur sur vector fifo() je pense puisque quand je passe ma fifo comme paramètre par valeur (c'est à dire fee[i] = new Feeder(...,fifo[i]); dans le main et Feeder(..., FIFO F);FIFO f; dans la classe Feeder, cela fonctionne.

    Si je n'ai pas été assez précis sur un point, demandez moi !

    Help

  2. #2
    Membre chevronné Avatar de themadmax
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 446
    Par défaut
    Ton code a l'air bon mais on dirai que tu as une erreur de link.
    Confirme nous que ton code plante, et compile.

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 83
    Par défaut
    Citation Envoyé par themadmax
    Ton code a l'air bon mais on dirai que tu as une erreur de link.
    Confirme nous que ton code plante, et compile.
    J'ai effectué un "nettoyage de solution" avec VS et miracle, je n'ai plus cette erreur ( mais d'autres plus compréhensibles que j'ai résolu !).

    Merci de m'avoir mi sur la piste themadmax !

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

Discussions similaires

  1. [Win] Thread passage Structure pointeur Vector + string
    Par jerem3000 dans le forum Threads & Processus
    Réponses: 2
    Dernier message: 31/10/2012, 15h24
  2. Réponses: 3
    Dernier message: 25/02/2010, 16h24
  3. Passage de pointeurs (paramètre de fonction)
    Par julieng31 dans le forum Débuter
    Réponses: 5
    Dernier message: 09/03/2009, 09h50
  4. Réponses: 14
    Dernier message: 07/06/2007, 19h40
  5. [allegro]passage de pointeur sur image
    Par Gonath dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 13/12/2003, 18h47

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