0
我有一個程序在同一個程序中調用函數,但我想聲明並初始化頂部的變量並在程序結束時訪問它們。如何聲明全局變量
!Declaration
INTEGER TOPCHORD,BOTCHORD, SUPPS, PURLINS;
!Initialization
! Define Layers for connecting lines
TOPCHORD = 32
BOTCHORD = 32
SUPPS = 36
PURLINS = 30
INTEGER FUNCTION IFLANGE1(IEND1,IEND2,ISUP)
IFLANGE1=TOPCHORD
SELECT CASE(IEND1)
CASE(2,4,6,8,9,10)
IFLANGE1=BOTCHORD
IF(ISUP.EQ.1)IFLANGE1=SUPPS
END SELECT
SELECT CASE(IEND2)
CASE(2,4,6,8,9,10)
IFLANGE1=BOTCHORD
IF(ISUP.EQ.1)IFLANGE1=SUPPS
END SELECT
RETURN
END
我得到錯誤變量「補充程序」引用但沒有設置
你用什麼編譯器來編譯你的例子?這真的是你正在使用的確切代碼(或重現了錯誤)?當我嘗試編譯這個時,我從編譯器得到了一個非常不同的錯誤消息。 –
你的問題的一般答案是 - 你不。全局變量的使用是任何現代編程語言中的反模式,因爲這種骯髒和不可預知的行爲。最好用本地代碼替換它們,並將它們傳遞給你想修改它們的過程,或者給它們分配函數的返回值。 – Chaosit
如圖所示,頂部的聲明不是全局的,而是本地的主程序。這裏真的沒有足夠的東西來看看你的全球意味着什麼 – agentp