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++/CLI Discussion :

problème utilisation de Predicates C++/CLI


Sujet :

C++/CLI

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut problème utilisation de Predicates C++/CLI
    Bonjour a tous,
    j'ai un petit souci sur l'utilsiation des predicates.
    Je voudrais faire une recherche dans une liste avec l'utilsiation du FindIndex()

    en résumé :

    j'ai une classe gsd_section

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public ref class gsd_section {
    public:
       int indice;
       double position;
     
    constructeurs/destructeurs/ membres etc..
    }
    dans une autre classe j'ai une liste de classes gsd_section:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Generic::List<gsd_section^> ^ListSections;
    je l'initialise (gcnew), la remplit etc.. mais l'ajout des sections est faite aleatoirement. Le seule repere de position que j'ai est l'indice dans la classe
    (int indice).

    A un moment je voudrais faire une recherche par indice dans la liste. Donc j'utiliserai bien la fonctionnalite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListSections->FindIndex(Predicate<T>^ match)
    Donc j'ai construit ma fonction match qui pour moi permet de comparer
    un indice recherché avec l'indice de la gsd_section

    en tant que fonction membre de gsd_section :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
       static bool isThisIndice(int ind0)
          {
             if (ind0 == indice)
                return true;
             else
                return false;
          }
    et j'utilise alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int indiceachercher = ...;
    sectionretournee  = ListSections->FindIndex(gcnew Predicate<gsd_section^>(gsd_section::isThisIndice(indiceachercher)));
    Ce serait trop simple

    La a la compilation ce sont des erreurs de type dans la fonction isThisIndice :
    _reference non conforme a un membre non statique gsd_section::ind
    _== : impossible de resoudre la surcharge
    etc. etc.
    Ca doit etre trivial comme pb mais je ne vois pas du tout pourquoi il ne peut pas lire ou comparer ind0 à indice (de la classe).

    Comem c'est static, il faut que je passe en reference ? mais du coup comment connaitre la reference du "indice" ? bref.. je ne m'en sors pas trop.

    Est ce que vous auriez un exemple simple de ce genre de recherche dans les listes ?

    a bientot
    denis
    Dernière modification par Deepin ; 28/02/2011 à 09h52.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 487
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    static bool isThisIndice(gsd_section^ section)
          {
             if (ind0 == section.indice)
                return true;
             else
                return false;
          }

  3. #3
    Invité
    Invité(e)
    Par défaut
    merci !
    effectivement, le predicate ne fonctionne qu'en rentrant un "element" section qui va servir de clé.

    mais du coup la clé ind0, elle est globale ? ou on peut directement rentrer dans la fonction static bool un entier pour test ?
    denis

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 487
    Par défaut
    Ca fait longtemps.

    Je ne comprend pas vraiment votre but, et, il faut l'avoué, je ne cherche pas trop à comprendre, car gérer des indices dans une liste dans les éléments d'une liste, ça sent toujours un peu le sapin.

    En clair, pourquoi avoir des indices dans des éléments d'une liste.

Discussions similaires

  1. Problème utilisation DLL
    Par Tub-95 dans le forum MFC
    Réponses: 4
    Dernier message: 02/11/2005, 12h00
  2. [Tomcat][Spring] Problème utilisation mémoire
    Par Wutintin dans le forum Hibernate
    Réponses: 12
    Dernier message: 08/09/2005, 14h57
  3. [JSTL] [EL] Problème utilisation <c:out>
    Par XavierL dans le forum Taglibs
    Réponses: 7
    Dernier message: 14/08/2005, 20h12
  4. (Problème) Utilisation de l'API mySQL [Delphi 2005 Perso]
    Par will-scs dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/08/2005, 18h26
  5. [JAR]Problème utilisation manifest et jar
    Par doudine dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 07/01/2005, 10h21

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