宣言時に変数を初期化することをお勧めします。
int TMyClass::GetValue()
{
int vStatus = OK;
// A function returns a value
vStatus = DoSomeThingAndReturnErrorCode();
if(!vStatus)
//Do something
else
return(vStatus);
}
デバッグ モードでは、このようなステートメント int vStatus = OK;
は DEBUG MODE ビルド中に問題を引き起こしません。
RELEASE MODEでビルドする場合も同じで、次のような警告がスローされます。
w8004: 'vStatus' には使用されない値が割り当てられています。
また、このように同じ関数で同じ変数をコードのさらに下に使用しており、 if(!vStatus)
次の値を返しますreturn(vStatus);
この debug Vs Release のポインターをWeb で調べたところ、コンパイラーは、宣言時に変数を初期化することを期待しています。
Windows 2003 サーバーで Borland developer studio 6 を使用しています。
この問題を理解するには、任意のポインタが役立ちます。
ありがとう
ラージ