看板 Fortran 關於我們 聯絡資訊
各位,請問一下 我正在將一個fortran 77 style 的程式改寫成fortran 90 style,目前遇到一個問題... 舊程式裡,每個subroutine 都有一堆共用變數,for example: !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> real(dp) :: RESULT(NS4P10) COMMON/PARM3/XN(NSMAX) EQUIVALENCE (RESULT(1),XN(1)) !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 舊程式這樣寫可以正常編譯 目前我的工作是將這些全域變數放在global.f90 裡: REAL, DIMENSION(NSMAX), SAVE :: XN 並去除放在每個主程式檔案subroutine 裡的COMMON 語法,但在編譯時卻發生這樣的錯誤 The attributes of this name conflict with those made accessible by a USE statement. [XN] EQUIVALENCE (RESULT(1),XN(1)) 我只有在舊程式碼中企圖宣告全域變數的型態才會遇到這個錯誤,但這邊用 EQUIVALENCE 卻也遇到這個問題,請問有什麼解決方法嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.176.123