2014-10-05 32 views
2

我使用gfortran(從GCC-4.8.1)編譯.f90源文件,並遇到一個錯誤,指出:gfortran錯誤:函數 'inint' 在(1)沒有隱式

Error: Function 'inint' at (1) has no IMPLICIT type 

我做了一些搜索,發現一個GNU website說[ININT]

This intrinsic is not yet implemented. The name is, however, reserved as an intrinsic.

SGI documentation,據說

ININT returns the nearest INTEGER*2 to its REAL*4 argument.

我的問題是:

ININT Fortran77/90/95/2003標準函數?

gfortran,編寫INIT替代函數的適當/符合標準的方法是什麼?

+2

這絕對不是標準。 – 2014-10-05 09:51:09

回答

2

我以前從未使用過ININT,它可能沒有任何標準。相反,我會建議使用NINT(FORTRAN 77),它帶有一個可選的KIND參數(Fortran 90中):

RESULT = NINT(A [, KIND]) 

(來自the GCC docs兩者)​​

選擇KIND反映INTEGER*2,不管它是什麼的你的具體編譯器...但是,當你在它,試試SELECTED_INT_KIND

+0

+1謝謝,我使用NINT()而不是那種,到目前爲止似乎沒有問題。 – tinlyx 2014-10-05 10:52:38