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 :

problème d'iterator dans une boucle for


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2010
    Messages : 18
    Points : 29
    Points
    29
    Par défaut problème d'iterator dans une boucle for
    Bonjour à tous,
    Voilà, j'ai un petit problème qui sera surement rapidement résolu, et désolé d'avance si cette résolution est extremement triviale, mais je bloque sur un message de debugger. J'ai voulu me faire une fonction permettant de calculer le nombre de permutations d'un vector contenant des objets T , mais lorsque je compile, j'ai ce message d'erreur:
    expected ; before "it"
    Voici le passage concerné (et la fonction fac que j'utilise):



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    template < class T,class T2 >
    T2 fac(T n)
    {
        return n<2?1:fac<T,T2>(n-1)*n;
    }
     
    template <class T,class T2>
    T nb_permutations(vector<T2> v)
    {
        T total=fac<T,T>(v.size());
        map<T2,T> m;
        bool distinct=true;
        for(long long unsigned c=0;c<v.size();c++)
        {
            m[v[c]]++;
            if(m[v[c]]-1)
                distinct=false;
        }
        for(map<T2,T>::iterator it=m.begin();it!=m.end();it++)
            total/=fac<T,T>(it->second);
        return total;
    }

    Pourtant, j'ai l'habitude de manipuler des map<char,int>::iterator (ou d'autres en remplaçant char/int par d'autres types), et le code est le même (for(map<char,int>::iterator it=m.begin();it!=m.end();it++) ...) sans qu'il y ait de message d'erreur.

    Merci d'avance

  2. #2
    En attente de confirmation mail

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Points : 3 311
    Points
    3 311
    Par défaut
    Bonsoir,

    Il faut utiliser le mot-clé typename :

    ICI

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2010
    Messages : 18
    Points : 29
    Points
    29
    Par défaut
    Ah mince, merci.
    J'ai un peu manqué de bons réflexes cette fois-ci (j'aurais dû faire quelques recherches sur les templates sur le net et sur la faq), mais comme j'étais assez occupé aujourd'hui, j'ai préféré demander ici .

    Désolé pour cette question ridicule ^^.

    Par contre je n'ai pas encore lu dans quel cas utiliser Class et dans quel cas utiliser Typename, mais là, je vais essayer de trouver moi-même

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

Discussions similaires

  1. Passer directement a l'iteration suivante dans une boucle for
    Par sundjata dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 26/07/2023, 12h40
  2. Problème d'écriture dans une boucle for
    Par manaliac dans le forum Général Python
    Réponses: 1
    Dernier message: 13/07/2010, 16h46
  3. Problème d'indexage dans une boucle FOR-END
    Par RAMZOON dans le forum MATLAB
    Réponses: 3
    Dernier message: 19/10/2007, 00h59
  4. Réponses: 1
    Dernier message: 22/04/2007, 16h51
  5. Problème avec une DLL dans une boucle For
    Par BraDim dans le forum Langage
    Réponses: 5
    Dernier message: 20/09/2005, 12h22

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