Fortran Coder

关于type 动态数组传递

查看数: 8104 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
wxy
发布时间: 2020-10-14 18:17

正文摘要:

本帖最后由 wxy 于 2020-10-14 20:56 编辑 我在type中定义了一个动态数组用于传递数组,用gfortran(linux)编译,数组传递正常,但是用ifort编译动态数组传递出来是空的,其他参数传递正常(图二是数组传入,图三 ...

回复

风平老涡 发表于 2023-11-13 10:50:20
mapoet 发表于 2023-11-13 08:58
没有析构函数,可以自动释放内存。

可以用“final subroutine", 有同样作用。
mapoet 发表于 2023-11-13 08:58:01
fcode 发表于 2020-10-17 09:40
哪儿比C++麻烦了?

没有析构函数,可以自动释放内存。
fcode 发表于 2020-10-17 09:40:28
mapoet 发表于 2020-10-16 09:42
一般可以直接申请空间给对象子成员,不过肯定要比c++略麻烦。

哪儿比C++麻烦了?
mapoet 发表于 2020-10-16 09:42:01
一般可以直接申请空间给对象子成员,不过肯定要比c++略麻烦。
wxy 发表于 2020-10-15 09:49:30
青衣巷 发表于 2020-10-14 22:10
Allocate( da%obs_date(row) )
这样就行了。不要重新定义一个 integer , allocatable :: obs_date(:)
没什 ...

可以了 非常感谢
wxy 发表于 2020-10-14 22:38:55
青衣巷 发表于 2020-10-14 22:10
Allocate( da%obs_date(row) )
这样就行了。不要重新定义一个 integer , allocatable :: obs_date(:)
没什 ...

好的 谢谢 我试一下
青衣巷 发表于 2020-10-14 22:10:12
Allocate( da%obs_date(row) )
这样就行了。不要重新定义一个 integer , allocatable :: obs_date(:)
没什么意义嘛。

或者,你需要用指针?
integer , pointer :: obs_date(:)
obs_date => da%obs_date
??

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-23 13:45

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表