2017-08-30 33 views
-1
 float yAxis; 
     float xAxis; 
     float yWinPos = window->m_y + 16 + 28 * 2; 
     float yWinHeight = window->m_iHeight - 2 - 8 - 26; 

     yAxis = yWinPos + 16 + (i * 66) - 10; 

     RECT TabDrawArea = { window->m_x + 8 - 90 + 1, yWinPos + 16 + (i * 66) - 8, 90 - 1, 66 }; 

     RECT TextSize; 
     TextSize = Render::GetTextSize(Render::Fonts::Tab, tab->Title.c_str()); 

     RECT ClickTabArea = { 
      xAxis, 
      yAxis, 
      TextSize.right, 
      TextSize.bottom }; 

私は私が手コンパイルしようとするたびに使用:「エラーC4700初期化されていないローカル変数 『x軸』を使用」 私もクルーレス0に設定する試みたが、私はX軸フロートを定義したと思いました。初期化されていないローカル変数「X軸は」

+0

コンパイラは正しいです。コード例では 'xAxis'は初期化されていません。 – drescherjm

+0

「初期化されていないローカル変数」のどの部分が不明ですか? –

+2

"でも0に設定しようとしましたか?本当ですか?それがあなたがすべきことですから。どちらか、それともそれに重大な価値を与える – KABoissonneault

答えて

1

あなたのコードのどこにxAxisの値を定義しましたか? This means that ClickTabArea will have an unknown value for xAxis.

コンパイラオプションの設定方法によっては、この初期化されていない値についての警告が表示される場合もあれば、オプションの設定によってはコンパイラが致命的なエラーであるとみなす場合があります。

変数を宣言するとすぐに、変数をゼロ値に初期化することは、常に安全な方法です。

+0

Wikipediaを引用しないでください。あなたが与える定義は、言語に依存せず、C++では間違っています。不確定な値( 'xAxis'など)を使用するとUndefined Behaviorになるので、' ClickTabArea'には未知の値があるとは言えません。例えば、あなたのプログラムは 'ClickTabArea'を作成する代わりにクラッシュするかもしれません。 – MSalters

関連する問題