leeyazhou 发表于 2017-10-27 12:47:51

CVF6.6中实现函数指针功能

         MODULE gva
                IMPLICIT NONE
                INTERFACE
                      REAL*8 FUNCTION fun(x)
                              REAL*8,INTENT(IN) :: x
                      END FUNCTION fun
                      REAL*8 FUNCTION ftan(x)
                              REAL*8,INTENT(IN) :: x
                      END FUNCTION ftan
                      REAL*8 FUNCTION poly(x)
                              REAL*8,INTENT(IN) :: x
                      END FUNCTION poly
                END INTERFACE

                PROCEDURE(fun),POINTER :: f
      END MODULE gva


                READ(5,*)k
                IF(k == 0) THEN
                     f => ftan                     
                ELSE IF(k==1 ) THEN
                     f => poly
                ELSE
                END IF
f为函数指针(或者函数变量)
根据输入k,对f进行赋值。此功能在gfortran中可以使用,interface为新的特性,
在CVF6.6中不支持,在CVF6.6中如何实现以上功能?

fcode 发表于 2017-10-27 13:07:39

这问题就好像问:“怎么在诺基亚1100手机上安装微信”一样。
没法实现,放弃这种老版本编译器,让它入土为安吧。

https://gss1.bdstatic.com/9vo3dSag_xI4khGkpoWK1HF6hhy/baike/w%3D268%3Bg%3D0/sign=480c43c1692762d0803ea3b998d76fc7/a71ea8d3fd1f413476eaf99c2f1f95cad0c85e77.jpg



leeyazhou 发表于 2017-10-27 13:09:51

fcode 发表于 2017-10-27 13:07
这问题就好像问:“怎么在诺基亚110手机上安装微信”一样。

没法实现,放弃这种老版本编译器,让它入土为 ...

比喻通俗易懂,谢谢!:-handshake
页: [1]
查看完整版本: CVF6.6中实现函数指针功能