Question

en cours d'exécution CppCheck sur mon produit quelques avertissements codebase de style. Par exemple. en

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

il me donne

Variable 'y' is not assigned a value

Il est le même avec le code comme

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

Est-ce un problème avec mon code ou est-il un problème avec CppCheck? (Comment) dois-je résoudre ce problème?

Merci pour toute pensée!

Était-ce utile?

La solution

Il est un bug CppCheck et les bonnes nouvelles est qu'il a déjà été fixé!

Vous pouvez soit récupérer le dernier code et construire votre propre version ou attendre v1.48 à être libéré. Version 1.48 est prévu pour être publié le 9 Avril selon le wiki .

Autres conseils

Il est un problème de CppCheck. Votre code est très bien (au moins une donnée).

Vous utilisez la y variable en tant que paramètre « out », mais CppCheck n'est pas en mesure de déterminer. Il est préférable d'initialiser le y au moment de la définition avec int y = 0; afin qu'à l'avenir, si quelqu'un essaie de d'utiliser le paramètre x dans foo ils ne seront pas valeur non initialisée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top