在將傳統項目升級到VS2015時,我注意到有很多錯誤,例如在函數內部重新定義了局部變量。重新定義/遮蔽局部變量有多糟?
void fun()
{
int count = applesCount();
cout << "Apples cost= " << count * 1.25;
for (int bag=0; bag<5;bag++)
{
int count = orangesCount(bag);
cout << "Oranges cost = " << count * 0.75;
}
}
由編譯器錯誤/警告消息:
declaration of 'count' hides previous local declaration
我知道這顯然是不使用相同的名稱變量count
一個很好的做法,但可以在編譯器真的把事情搞得一團糟,以及或者他們通常會優雅地處理這種情況?
是否值得更改和修正變量名稱,或不太可能造成任何傷害,風險低或無風險?
是 - 原因很簡單 - 爲什麼讓生活更難比需要 –
我猜它的一個錯誤,如果你建立時打開警告視爲錯誤標誌。 – Arunmu
無論如何'count'對於一個變量來說都不是一個好名字 –