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 :

Peut-on stocker un objet quelconque dans vector


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 127
    Par défaut Peut-on stocker un objet quelconque dans vector
    Salut à tous!

    Voila le code qui me pose probleme, j'ai une erreur de compilation ici pour la deuxieme instruction.
    Je pense qu'il y a surement un moyen de mettre mon objet dans mon vector Sequence...
    Merci de répondre...

    P.S.:Si on ne peut pas le faire ce dont je doute, y a t il un autre type de conteneur qui pourrais me rendre ce service??


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Packet* Paquet = new Packet(bufferIn);
    Sequence.push_back(Paquet);

  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
    C'est quoi l'erreur.............................

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 127
    Par défaut
    voila l erreur c 'est ca...

    error
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    error C2664: 'std::vector<_Ty>::push_back' : cannot convert parameter 1 from 'MpegPacket *' to 'const char &'
            with
            [
                _Ty=char
            ]
            Reason: cannot convert from 'MpegPacket *' to 'const char'
            There is no context in which this conversion is possible

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Donc tu veux placer un MpegPacket* dans un vector<char> ; normal que le compilo n'y comprenne rien.

    Tu essayes de faire quoi au juste ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 127
    Par défaut
    Ah oui juste j'avais mis un vector<char> pour faire des tests en fait il me faut un vector<MpegPacket>....

    Purée Merci mille fois c'est le genre d'erreur qu'il faut des heures pour trouver...
    C'est ridicule j'ai honte... hihihi!

    En fait je lis le contenu d'un fichier dans le but de modifier certains paramètres. Je construit donc une la sequence entière des paquets puis je mets chaaque paquets dans une case de mon vector, pour acceder, inserer d'autres paquets etc...
    voila j'ai fait la correction et maintenant ca joue.
    Merci encore de ta vivacité!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    MpegPacket* Paquet = new MpegPacket(bufferIn);
    SequenceTS.push_back(*Paquet);

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Purée Merci mille fois c'est le genre d'erreur qu'il faut des heures pour trouver...
    C'est plutôt évident rien qu'en lisant le message d'erreur...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MpegPacket* Paquet = new MpegPacket(bufferIn);
    SequenceTS.push_back(*Paquet);
    Pas bon. Soit tes MpegPaquet sont copiables et dans ce cas l'allocation dynamique ne sert à rien d'autre que créer des fuites ; soit ils ne sont pas copiables et il faudra stocker des pointeurs (intelligents) dans ton tableau.

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

Discussions similaires

  1. [1.x] [sf 1.2.x] Stocker un objet panier dans la session (myUser?)
    Par thecanea dans le forum Symfony
    Réponses: 2
    Dernier message: 02/04/2009, 16h28
  2. [Conception] Stocker un objet java dans une structure java
    Par m3allem001 dans le forum Langage
    Réponses: 2
    Dernier message: 19/03/2009, 08h41
  3. [Objet OLE]Stocker une base Access dans un champ
    Par SamRay1024 dans le forum Access
    Réponses: 4
    Dernier message: 04/04/2006, 14h23
  4. Réponses: 4
    Dernier message: 01/02/2006, 09h47
  5. objets différents dans un même vector...
    Par Empty_body dans le forum Langage
    Réponses: 7
    Dernier message: 07/01/2006, 18h20

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