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 :

[std::map] insertion d'un tableau


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut [std::map] insertion d'un tableau
    yopeee,

    vous pouvez m aider a resoudre l'erreur de compilation please.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Erreur : c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\utility(41): error C2536: 'std::pair<_Ty1,_Ty2>::std::pair<_Ty1,_Ty2>::second'*: impossible de spécifier un initialiseur explicite pour les tableaux
            with
            [
                _Ty1=const int,
                _Ty2=tstSrvData [14]
            ]
            and
            [
                _Ty1=const int,
                _Ty2=tstSrvData [14]
            ]

    ma definition de structure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    struct tstSrvData
    {
    	int	Value;				
    	char	TypeOfValue;
    };
    ma definition de map :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef std::map<int,tstSrvData[10]> MapClics;
    ma declaration :
    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    tstSrvData l_NullClic[10];
     
    unsigned int l_uiCounter;
    for(l_uiCounter=0;l_uiCounter<10;l_uiCounter++)	
    {
    	l_NullClic[l_uiCounter].Value=0;
    	l_NullClic[l_uiCounter].TypeOfValue=0;
    }
    m_MapClics.insert(make_pair(5,l_NullClic));

  2. #2
    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
    Les tableaux ne sont pas des entités copiables, tu ne peux pas les stocker directement dans un conteneur. Par contre tu peux stocker une instance de structure qui contient un tableau.

  3. #3
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par Laurent Gomila
    Par contre tu peux stocker une instance de structure qui contient un tableau.
    bof bof...j ai fait une structure contenant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    struct tstAllSrvData
    {
    	tstSrvData	stSrvData[10];
    };
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	typedef std::map<T_CLIC,tstAllSrvData> MapClics;
    	MapClics m_MapClics;
    et j ai bien sur adapté mon conteneur mais contre toute attente :
    xxx.cpp(517): error C2679: '=' binaire*: aucun opérateur trouvé qui accepte un opérande de partie droite de type 'std::_Tree<_Traits>::_Pairib' (ou il n'existe pas de conversion acceptable)
    with
    [
    _Traits=std::_Tmap_traits<int,tstAllSrvData,std::less<int>,std::allocator<std::pair<const int,tstAllSrvData>>,false>
    ]

  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
    Chez moi ça fonctionne très bien. Tu peux nous montrer la ligne qui provoque cette erreur ?

  5. #5
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    l_MapIt = m_MapClics.insert(make_pair(5,l_NullClic));

  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
    l_MapIt est déclaré comment ?

    Ce qui est renvoyé est de type pair<iterator, bool>.

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

Discussions similaires

  1. Accession aux std::map triées ?
    Par Matthieu Brucher dans le forum SL & STL
    Réponses: 5
    Dernier message: 18/11/2005, 14h44
  2. std::map<int,CStringArray> ????
    Par philippe V dans le forum MFC
    Réponses: 1
    Dernier message: 12/10/2005, 06h48
  3. Insertion javascript dans tableau HTML
    Par Rocca dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 08/08/2005, 12h28
  4. Libérer des pointeurs dans une std::map
    Par GaldorSP dans le forum SL & STL
    Réponses: 2
    Dernier message: 09/07/2005, 14h42
  5. Trier un std::map selon les valeurs plutot que les clés
    Par dj.motte dans le forum SL & STL
    Réponses: 2
    Dernier message: 13/11/2004, 21h54

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