2014-02-08 24 views
-2

我試圖在for循環內定義一個二維數組。這是什麼樣子:使用for循環內定義的變量

for(){ 
    ... 
    double x[y][z]; 
    ... 
} 

然後我調用一個函數:

abc(x) 

...和我得到這個錯誤:

error: 'x' undeclared (first use in this function) 
+0

感謝您修復它! – user3288109

回答

0

內聲明的變量for循環的範圍僅限於for循環,無法在for循環之外訪問。

如果您需要訪問for循環之外的變量,則應該在for循環之外聲明它。

+0

確定購買im獲取for循環中的y和z值,並且在我將其聲明在for循環中後使用x也可以使用x – user3288109

+0

您可以在循環之前聲明變量,然後在循環內設置其值。 – nhgrif

+0

Y和Z兩者都宣稱循環之外,但等於0,我想定義X後,我得到的值y和z – user3288109

0

只能for環路作爲x範圍內通過x給你的函數abc有塊作用域。
塊範圍變量只能在該塊內訪問。除了它的範圍之外,它對其他人來說是不可見的。

+0

im在for循環中編輯x內部的數據,我只想在for循環完成後調用abc – user3288109

+0

然後在'for'循環之外聲明'x'。 – haccks