2017-08-30 52 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軸’使用」 我以爲我所定義的X軸浮動,甚至試圖將其設置爲0。獨領風騷。未初始化的局部變量「X軸」使用

+0

編譯器是正確的。在代碼示例中,「xAxis」未初始化。 – drescherjm

+0

「未初始化的局部變量」的哪部分是你不確定的? –

+2

「甚至嘗試將其設置爲0」您確定嗎?因爲這就是你應該做的。要麼,要麼給它一個重要的價值 – KABoissonneault

回答

1

您的代碼中沒有定義xAxis的值。 This means that ClickTabArea will have an unknown value for xAxis.

根據您的編譯器選項的設置方式,您可能會或可能不會收到關於此未初始化值的警告,也取決於您的選項設置方式,您的編譯器可能認爲這是一個致命錯誤。

一旦聲明它們,將變量初始化爲某個零值總是安全的做法。

+0

請不要引用維基百科。您給出的定義是C++的語言不可知且明顯錯誤的。使用不確定的值(例如'xAxis')是未定義行爲,所以您不能說'ClickTabArea'具有未知值。例如,你的程序可能會崩潰而不是創建'ClickTabArea'。 – MSalters