Ce code jette des avertissements lorsque je le comstack sous Windows. Des solutions?
#include int main(){ std::vector v; //... for (int i = 0; i < v.size(); ++i) { //warning on this line //... } }
Remplacez toutes les définitions de int i
par size_t i
.
std::vector
retourne le type size_t
qui est non signé (car cela n’a pas de sens que les conteneurs contiennent un nombre négatif d’éléments).
Dites std::size_t i = 0;
:
for (std::size_t i = 0; i != v.size(); ++i) { /* ... */ }
Vous pouvez également utiliser des iterators à la place pour éviter le risque d’avertissement:
for (std::vector::const_iterator i = v.begin(); i != v.end(); ++i) { ... }
Ou si vous utilisez C ++ 11:
for (int i : v) { ... }