Ca, c'est parce que le code utilise une syntaxe qui est apparue avec la norme C++11...
Mieux encore, si tu peux activer le support de C++11 et faire en sorte que ton compilateur supporte cette syntaxe, cela t'ouvrira l'accès à toutes les fonctionnalités de C++11, et tu ne t'en portera que mieux à la longue ;)Citation:
Si tu peux changer cette partie :
Et de m'afficher le résultat ça serait génial de votre part. Comme ça, je résout mon problème qui m'as pris du temps. Merci à vous tous.Code:
1
2
3
4
5
6
7
8
9
10
11 int ligne = 0; for( const auto& i : myvector ) // i { int colone = 0; for( auto j : i) // j : i { R[ligne*maxCardinalite+colone] = j; // i colone++; } ligne++; }
On peut activer le support de c++11 sous clang et gcc en ajoutant l'option -std=c++11 à la commande de compilation.
Si tu utilises un EDI, tu dois allez voir du coté des options de compilation pour activer cette possibilité. Par exemple, sous code::blocks, cela se fait au niveau du menu Project ->build options ->dans l'onglet "compiler flags" de l'onglet "compiler settings" (c'est celui qui est affiché par défaut), cocher la case "have g++ to follow the C++11 ISO C++language". Dans qtcreator, cela se fait en rajoutant la ligne QMAKE_CXXFLAGS += -std=c++11 au fichier .pro
Maintenant, si tu ne peux vraiment pas utiliser C++11 (par exemple parce que ton compilateur est trop ancien), cette syntaxe peut être remplacée par une boucle pour classique :
Tu devrais donc presque pouvoir modifier le code par toi même ;)Code:
1
2
3
4
5
6
7
8
9 /*version "C++11*/ for( int /* ou auto */i :tableau){ /* manipuler i qui correspond à chaque élément du tableau, les uns apres les autres */ } /* version "pré C++11"*/ for(size_t count = 0; count <tableau.size();++count){ int i = tableau[i]; /* manipuler i qui correspond à chaque élément du tableau, les uns apres les autres */ }