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 :

Problem avec std::vector


Sujet :

SL & STL C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    F�vrier 2006
    Messages
    21
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2006
    Messages : 21
    Par d�faut Problem avec std::vector
    Bonjour,

    J'ai un petit souci avec les vector

    voila j'ai un pointeur de vector declarer comme ceci

    std::vector<std::string> * syllabe = new std::vector<std::string>();


    je le rempli ensuite avec la fonction membre push_back()

    mon probleme est quand j'utilise :

    std::string s = syllabe[0]

    vc++ me dit main.cpp(15) : error C2440: 'initialisation' : impossible de convertir de 'std::vector<_Ty>' en 'std::basic_string<_Elem,_Traits,_Ax>'
    with
    [
    _Ty=std::string
    ]
    and
    [
    _Elem=char,
    _Traits=std::char_traits<char>,
    _Ax=std::allocator<char>
    ]
    Aucun constructeur n'a pu prendre le type de source, ou la r�solution de la surcharge du constructeur �tait ambigu�

    alors que normalement logiquement on peut utiliser un vector comme un tableau

    Merci de m'aider

    (PS : je n'ai pas envie d'utiliser les it�rateurs)

  2. #2
    Expert confirm�
    Avatar de Swo�g
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par d�faut
    Salut !

    C'est parce que tu utilises un pointeur de vector...
    essaie ceci :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    std::string s = (*syllabe)[0];
    pour comprendre le m�canisme :

    appliquer l'op�rateur [] � un pointeur : revient � faire l'op�ration suivante : Donc ce que tu faisait avec syllabe[0] c'est *syllabe autrement dit, tu essayais d'assigner un vector � un string, d'o� le message d'erreur
    R�dacteur "�clectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les R�gles du Forum - Mon Site Web sur DVP.com (D�veloppement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne r�pondrai � aucune question technique via MP, MSN ou Skype : les Forums sont l� pour �a !!! Merci de me demander avant de m'ajouter � vos contacts sinon je bloque !
    pensez � la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    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
    Et surtout, pourquoi as-tu besoin d'un pointeur sur vector ? Le but de ce genre de classe est justement de les �viter.

  4. #4
    Membre averti
    Inscrit en
    F�vrier 2006
    Messages
    21
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2006
    Messages : 21
    Par d�faut
    merci Swo�g c'�tait ca le blem

    @loulou24 ben parceque le vector est utilis� dans une fonction alors j'ai pas envie de recopier un vector 500 objet a chaque appel de la fonction, alors qu'un pointeur ne coute presque rien en espace memoire

  5. #5
    Expert confirm�
    Avatar de Swo�g
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par d�faut
    Citation Envoy� par boiteweb
    merci Swo�g c'�tait ca le blem

    @loulou24 ben parceque le vector est utiliser dans une fonction alors j'ai pas envie de recopier un vector 500 objet a chaque appel de fonction alors qu'un pointeur ne coute presque rien en espace memoire

    Content d'avoir pu t'aider !

    pour la seconde remarque, je te signalerais qu'en C++, il existe le passage par r�f�rence qui permet d'�viter justement les copies ET les pointeurs
    R�dacteur "�clectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les R�gles du Forum - Mon Site Web sur DVP.com (D�veloppement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne r�pondrai � aucune question technique via MP, MSN ou Skype : les Forums sont l� pour �a !!! Merci de me demander avant de m'ajouter � vos contacts sinon je bloque !
    pensez � la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  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
    Citation Envoy� par boiteweb
    @loulou24 ben parceque le vector est utiliser dans une fonction alors j'ai pas envie de recopier un vector 500 objet a chaque appel de fonction alors qu'un pointeur ne coute presque rien en espace memoire
    Je ne vois pas le rapport entre la mani�re dont tu manipules ton vecteur, et la mani�re dont tu vas le passer en param�tre pour �viter des copies inutiles. Et pour �a, les r�f�rences sont de toute fa�on � pr�f�rer aux pointeurs.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probleme avec std::vector push_back
    Par raphchar dans le forum C++
    R�ponses: 4
    Dernier message: 19/12/2011, 14h18
  2. Probleme avec std::vector
    Par dhoorens dans le forum SL & STL
    R�ponses: 2
    Dernier message: 12/03/2007, 16h51
  3. Probleme avec std::map
    Par olive_le_malin dans le forum SL & STL
    R�ponses: 14
    Dernier message: 27/02/2007, 09h58
  4. Probl�me avec std::vector
    Par dhoorens dans le forum SL & STL
    R�ponses: 4
    Dernier message: 31/12/2006, 14h27
  5. Probl�me avec std::Vector
    Par mister3957 dans le forum SL & STL
    R�ponses: 8
    Dernier message: 16/02/2006, 10h18

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