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 :

map contenant un tableau


Sujet :

C++

Vue hybride

grodwar map contenant un tableau 26/06/2006, 10h47
ep31 En passant par un : ... 26/06/2006, 11h41
grodwar Si c'est plus propre mais... 26/06/2006, 12h12
Fry Si je me trompe pas une map... 26/06/2006, 12h35
Médinoc Fry : Relis le titre du... 26/06/2006, 12h37
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Par défaut map contenant un tableau
    Je voudrais faire une map qui associe un pointeur sur un objet de classe agent et ses coordonnées (2 entiers pour commencer), j'ai donc fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    map<Agent*, int[1]> agentList;
    et un appel du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    agentCoord[agent][0]+=deltaX;
    mais Oh rage:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    1>c:\program files\microsoft visual studio 8\vc\include\map(172) : error C2440: '<function-style-cast>' : cannot convert from 'int' to 'int [1]'
    1>        There are no conversions to array types, although there are conversions to references or pointers to arrays
    1>        c:\program files\microsoft visual studio 8\vc\include\map(167) : while compiling class template member function 'int (&std::map<_Kty,_Ty>::operator [](Agent *const &))[1]'
    1>        with
    1>        [
    1>            _Kty=Agent *,
    1>            _Ty=int [1]
    1>        ]
    1>        c:\2005\1\sma\staticgridenv.h(43) : see reference to class template instantiation 'std::map<_Kty,_Ty>' being compiled
    1>        with
    1>        [
    1>            _Kty=Agent *,
    1>            _Ty=int [1]
    1>        ]
    Ou est ce que cela coince?


    Question bonux, j'ai pas mal de fonction qui ont besoin de la référence sur l'objet appelant, y aurait il un équivalent à "this" pour cela?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    En passant par un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    typedef struct _coord {
       int x;
       int y;
       ...
    }
     
    map<Agent*, _coord> agentList;
    Ca ne marcherait pas mieux ?

    Quant au :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    agentCoord[agent][0]+=deltaX;
    C'est quoi le type de deltaX ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Par défaut
    Si c'est plus propre mais bon, je pensais que c'était faisable.
    deltaX est un int.

    Ta technique marche mais je me demande si le fait de passer par une structure n'est pas moins performant? Etant donné que ce bout de code sera appelé tres tres souvent.

  4. #4
    Fry
    Fry est déconnecté
    Membre confirmé Avatar de Fry
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 150
    Par défaut
    Si je me trompe pas une map est un tableau associatif et pas un tableau a 2 dimension d 'ou l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      agentCoord[agent][0]+=deltaX;
     
      agentCoord[agent] = 0 + deltaX;

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Fry : Relis le titre du sujet.

    PS grodwar : int[1], c'est un tableau d'un seul entier. (numéroté de 0 à 0).
    Pour deux entiers numérotés de 0 à 1, il te faut un int[2].
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Par défaut
    Euh oui médinoc ^^......mais j'ai toujours le même problème :/

Discussions similaires

  1. Réponses: 17
    Dernier message: 02/02/2009, 09h57
  2. Image Map (cliquable) avec fichier .map contenant les coordonnées
    Par minogttao dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 08/08/2007, 21h59
  3. Réponses: 5
    Dernier message: 19/07/2007, 13h06
  4. [AJAX] Génération de menu déroulant contenant une tableau php
    Par emageren dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/04/2007, 11h46
  5. Réponses: 2
    Dernier message: 30/11/2006, 09h32

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