fortran2003

    1熱度

    1回答

    我正在嘗試使用OOP範例設計一些簡單的現場模擬。我面臨的問題是,由於缺乏這種方法的經驗,我不知道如何以自然的方式定義「正確」的對象及其關係。因此,我的問題更接近於軟件架構,而不是更多的技術「如何實現這個或那個」。請注意,我正在做這個練習,正是爲了瞭解這個編程範例。 模擬試圖解決空間2D空間中粒子之間的相互作用(碰撞,吸引等)。我想到的第一個對象是Particle。我已經實現了這個類的位置,速度,質

    1熱度

    1回答

    我有一個看起來像 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)

    2熱度

    1回答

    如果存在iostat關鍵字,則發生I/O錯誤時程序不會停止。然後,如果我嘗試將不正確的值讀入標量變量,那麼i會說這個變量保持不變嗎?以下似乎工作: program test integer :: i, stat i = 1 do write (*, "('i = ')", advance='no') read (*, *, iostat=s

    0熱度

    1回答

    我的情況下有一個通用的程序兩個綁定程序(GetAsScalar & GetAsList)(的GetValue)一個類型沒有匹配的特定子程序: type, extends(TObject) :: TKeyword character(len=:), allocatable :: fValue contains procedure, private :: Ge

    2熱度

    1回答

    當使用RHS上的結構構造函數對LHS上的未分配的可分配對象進行分配時,我有一段代碼,它與我手邊的所有編譯器存在段錯誤。結構(派生類型)本身具有重載分配。我認爲,LHS的自動重新分配應該在調用任務程序之前進行,但似乎並非如此。 下面的代碼,展示了這個問題。取消註釋分配語句會使所有的工作正常,但我不明白爲什麼在這種情況下顯式分配是必要的。有趣的是,如果我刪除重載的任務,事情也會起作用。 任何提示? m

    1熱度

    2回答

    是否可以在Fortran中將矩陣聲明爲派生類型?例如,可以做些什麼以致於致電 class(four_by_four_matrix) :: A call A%inv 是否有效?其中inv被宣佈爲four_by_four_matrix的程序?

    6熱度

    2回答

    我在Fortran中是OOP的初學者,我試圖編寫一個程序來處理多態變量作爲參數。 儘管我的原始代碼要複雜得多(很多過程,幾個派生類型等),但我可以分離出一個簡單的問題示例,例如:我有一個複製多態變量並略微修改此副本的過程。 我是能夠成功地編寫使用子程序我的測試程序: MODULE my_module type :: my_type real :: data endtype my_t

    3熱度

    1回答

    根據Fortran Wikiintel fortran編譯器版本14應支持在FORTRAN 2003標準中定義的定型。我試圖用ifort 14使用此功能,但觀察到奇怪的行爲。下面的例子應該表明這一點: module mtypes implicit none type mytype integer, private :: nr contains

    1熱度

    1回答

    我已經調試用gdb作爲調試程序中的Cygwin和Eclipse下面的一段代碼: program codetest implicit none integer, parameter :: dp = kind(1.0d0) integer, parameter :: N = 10 real(dp), dimension(:), allocatable :: v

    1熱度

    1回答

    下面給出的最小工作的例子,我想修改,以避免複製/粘貼的 call func_some_calc1(par) call func_some_calc2(par) 兩個main_func_problem1和main_func_problem2呼叫。 理想情況下,我希望有一個功能main_func,其輸入參數的類型爲t_parameters_problem1和t_parameters_proble