我目前正在參加CSE的入門課程,並且有一些課堂材料的問題。在一個幻燈片,教授定義了這個方法:聲明變量和範圍
public int myMethod()
{
int retval, itemp = 100;
retval = itemp;
{
int retval, itemp = 75;
retval = itemp;
}
return retval;
}
從什麼教授說,retval的回報/持有值100,但是當我打開的Eclipse /命令行和寫的方法,它止跌不會編譯。它一直說retval被宣佈了兩次,因此不會編譯程序。對於這裏出了什麼問題的任何指導?另外,「retval = itemp」的含義是什麼? ?它們都被初始化爲相同的值,那麼這個線的目的是什麼?
「它們都被初始化爲相同的值」? in line 「int retval,itemp = 100;」他們都沒有初始化爲相同的價值。只有itemp被初始化。如果您嘗試打印retval,則會顯示變量未初始化的錯誤。 如果寫入,兩個變量初始化爲相同的值retval = itemp = 100; – User42
你的教授可能正在考慮c/C++,其中一個代碼塊{{}}可能有自己的*局部變量。 –