爲什麼Fortran 90 Specification指定(5.2.8)必須使用TARGET關鍵字來將POINTER關聯到它?爲什麼不是每個類型都是有效的目標?爲什麼Fortran POINTER需要一個TARGET?
例如,
INTEGER, POINTER :: px
INTEGER, TARGET :: x
x = 5
px => x
是有效語法,但
INTEGER, POINTER :: px
INTEGER :: x
x = 5
px => x
是
無效。
這是爲什麼呢?
我之前的評論並不準確。指針/目標關聯會導致一些非常棘手的情況。如果您對Fortran中的指針/目標關聯實踐沒有經驗,我建議您進一步閱讀。例如,請參閱此鏈接https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/709550 – 2017-01-31 09:34:41