我有一個看起來像 subroutine sub1(f)
interface
function f(x)
(description of f)
end function f
end interface
(do something with f)
end subroutine sub1
subroutine sub2(f)
如果存在iostat關鍵字,則發生I/O錯誤時程序不會停止。然後,如果我嘗試將不正確的值讀入標量變量,那麼i會說這個變量保持不變嗎?以下似乎工作: program test
integer :: i, stat
i = 1
do
write (*, "('i = ')", advance='no')
read (*, *, iostat=s
當使用RHS上的結構構造函數對LHS上的未分配的可分配對象進行分配時,我有一段代碼,它與我手邊的所有編譯器存在段錯誤。結構(派生類型)本身具有重載分配。我認爲,LHS的自動重新分配應該在調用任務程序之前進行,但似乎並非如此。 下面的代碼,展示了這個問題。取消註釋分配語句會使所有的工作正常,但我不明白爲什麼在這種情況下顯式分配是必要的。有趣的是,如果我刪除重載的任務,事情也會起作用。 任何提示? m
我在Fortran中是OOP的初學者,我試圖編寫一個程序來處理多態變量作爲參數。 儘管我的原始代碼要複雜得多(很多過程,幾個派生類型等),但我可以分離出一個簡單的問題示例,例如:我有一個複製多態變量並略微修改此副本的過程。 我是能夠成功地編寫使用子程序我的測試程序: MODULE my_module
type :: my_type
real :: data
endtype my_t