Pregunta

Ejecutar cppcheck sobre mi base de código produce algunas advertencias de estilo. Por ejemplo

void foo(int& x)
{
  x = 0; 
}
void bar()
{
  int y;
  foo(y);
}

me da

Variable 'y' is not assigned a value

Es lo mismo con el código como

 char buffer[160];
 i+=sprintf(buffer,"%2.2ld.",ymd.monthday);

¿Es esto un problema con mi código o es un problema con cppcheck? (¿Cómo) debo arreglarlo?

¡Gracias por cualquier pensamiento!

¿Fue útil?

Solución

Es un insecto ¡En CPPCheck y la buena noticia es que ya se ha solucionado!

Puedes tomar el último código y construya su propia versión o espere a que se lance V1.48. Se planea que la versión 1.48 se lanzará el 9 de abril según la wiki.

Otros consejos

Es un problema de cppcheck. Su código está bien (al menos el dado).

Estás utilizando la variable y Como parámetro 'fuera', pero CPPCheck no puede determinar eso. Es mejor inicializar el y en el momento de la definición con int y = 0; para que en el futuro si alguien intenta usar el parámetro x en foo No tendrán un valor no inicializado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top