Il est recommandé d'initialiser une variable au moment de la déclaration.Avertissement du compilateur w8004 BDS6 c/C++
int TMyClass::GetValue()
{
int vStatus = OK;
// A function returns a value
vStatus = DoSomeThingAndReturnErrorCode();
if(!vStatus)
//Do something
else
return(vStatus);
}
Dans le mode de débogage, une déclaration comme celle-int vStatus = OK;
est à l'origine aucun problème lors de la construction DEBUG MODE.
Le même lorsque la construction en mode release, lance un avertissement en disant:
w8004: « vStatut » est attribué une valeur qui est jamais utilisée.
En outre, je suis en utilisant la même variable plus bas mon code dans la même fonction, comme celui-ci if(!vStatus)
et aussi je retourne la valeur de return(vStatus);
Quand je regardais le web pour pointers on this debug Vs Release, compilateurs attendent vous d'initialiser votre variable au moment de la déclarer. J'utilise Borland developer studio 6 avec un serveur Windows 2003. Tous les pointeurs aideront à comprendre ce problème.
Merci
Raj
Il est recommandé de reporter la définition (et non la déclaration, BTW) d'une variable jusqu'à ce que vous ayez quelque chose à initialiser. Voir la réponse de Glen. De cette façon, vous n'avez pas de variable non initialisée et vous n'avez pas besoin d'initialiser les variables avec une valeur fictive pour les redéfinir plus tard. – sbi
La meilleure pratique REAL est de déclarer la valeur au point où vous avez une valeur d'initialisation, et pas plus tôt. Vous déclarez vStatus une ligne au début. En conséquence, vous supposez pour une ligne ce sera "OK". – MSalters