una tutorial turbo tipos tipo que programming programacion program lista learn how from for excepción excepciones errores ejemplos beginners c++ warnings

tutorial - Advertencia de C++ C4018: ''<'': falta de coincidencia firmada/sin firmar



tipo de errores en c++ (3)

Esta pregunta ya tiene una respuesta aquí:

Este código emite advertencias cuando lo compilo bajo Windows. ¿Alguna solución?

#include<vector> int main(){ std::vector<int> v; //... for (int i = 0; i < v.size(); ++i) { //warning on this line //... } }


Diga std::size_t i = 0; :

for (std::size_t i = 0; i != v.size(); ++i) { /* ... */ }


Reemplace todas las definiciones de int i con size_t i .

std::vector<T>::size() devuelve el tipo size_t que no está firmado (ya que no tiene sentido que los contenedores contengan un número negativo de elementos).


También puede utilizar iteradores para evitar la posibilidad de una advertencia por completo:

for (std::vector<int>::const_iterator i = v.begin(); i != v.end(); ++i) { ... }

O si estás usando C ++ 11:

for (int i : v) { ... }