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:Voici le passage concerné (et la fonction fac que j'utilise):expected ; before "it"
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
Partager