主题:[讨论]如何在自定义类型中,存放函数(子程序)指针
cgl_lgs
[专家分:21040] 发布于 2010-07-09 11:29:00
在C/C++中,可以很简单的实现这个问题,如果FORTRAN中也可以那就比较容易实现多态了:)
不知道大家有啥好招不:)
现已知在FORTRAN中可以把函数名儿或子程序名儿当参数传,就是找了半天也没发现如何把这样的东西放到TYPE里:)
回复列表 (共8个回复)
沙发
yeg001 [专家分:14390] 发布于 2010-07-09 12:02:00
Fortran2003里面加入了子程序指针, 不过我还未用过.
PROCEDURE(PORC), POINTER :: P
P是跟proc接口一致的指针.
板凳
cgl_lgs [专家分:21040] 发布于 2010-07-09 14:37:00
嘿嘿,这个不错,不知道95里有没有类似的东西捏:)
不过我先试试这个与C语言的接口吧,谢谢YEG001兄啦:)
3 楼
cgl_lgs [专家分:21040] 发布于 2010-07-09 17:46:00
在F2003这个特性出来之前,大家遇到这个问题是咋解决的捏?
4 楼
cgl_lgs [专家分:21040] 发布于 2010-07-10 08:25:00
郁闷了,貌似IVF还不支持这东西,在帮助里没看见有啊。。。
(程序写上可以,但帮助里啥也没有。。。俺自己试着来吧)
5 楼
yeg001 [专家分:14390] 发布于 2010-07-10 09:11:00
IVF11 才大量加入f2003特性, 恐怕要最新的版本才支持得比较好.
6 楼
cgl_lgs [专家分:21040] 发布于 2010-07-10 09:37:00
嗯,的确,好像确实是这样,只是帮助文档没跟上:)
不过我在想,有些系统API就需要这样的结构,那FORTRAN以前是咋做的捏?
7 楼
挖掘机手 [专家分:0] 发布于 2010-07-12 00:44:00
编译没问题,你要看看dat msg文件中有没有错误?
8 楼
开心投机 [专家分:0] 发布于 2010-07-12 02:51:00
Fortran2003里面加入了子程序指针,不过我还未用过.PROCEDURE(PORC),POINTER:P P是跟proc接口一致的指针.
我来回复