error C4700の傾向と対策:値を初期化していない変数を使っているかも
C++では変数を定義しただけではその変数の値は不定、つまり変数にどんな値が入っているかわかりません。値が不定な変数を使うのはバグの温床になるため、Visual Studioはデフォルトでこのような変数に対してエラーを出してくれます。
例えば以下のコード
int main() { int a; a += 3; return 0; }
では、int a;
した段階ではaは不定であるにもかかわらず、次の行a += 3
でa
に3を足す処理を行ったため、以下のエラーが発生します。
error C4700: 初期化されていないローカル変数 'a' が使用されます
エラーを消すためには、変数の定義時に適当な初期値を代入すればOKです。以下のコードは問題なくコンパイルできます。
int main() { int a = 0; a += 3; return 0; }