关于type 动态数组传递
本帖最后由 wxy 于 2020-10-14 20:56 编辑我在type中定义了一个动态数组用于传递数组,用gfortran(linux)编译,数组传递正常,但是用ifort编译动态数组传递出来是空的,其他参数传递正常(图二是数组传入,图三是调用的地方),不知道应该怎么改写 Allocate( da%obs_date(row) )
这样就行了。不要重新定义一个 integer , allocatable :: obs_date(:)
没什么意义嘛。
或者,你需要用指针?
integer , pointer :: obs_date(:)
obs_date => da%obs_date
??
青衣巷 发表于 2020-10-14 22:10
Allocate( da%obs_date(row) )
这样就行了。不要重新定义一个 integer , allocatable :: obs_date(:)
没什 ...
好的 谢谢 我试一下 青衣巷 发表于 2020-10-14 22:10
Allocate( da%obs_date(row) )
这样就行了。不要重新定义一个 integer , allocatable :: obs_date(:)
没什 ...
可以了 非常感谢:-lol 一般可以直接申请空间给对象子成员,不过肯定要比c++略麻烦。 mapoet 发表于 2020-10-16 09:42
一般可以直接申请空间给对象子成员,不过肯定要比c++略麻烦。
哪儿比C++麻烦了? fcode 发表于 2020-10-17 09:40
哪儿比C++麻烦了?
:-lol没有析构函数,可以自动释放内存。 mapoet 发表于 2023-11-13 08:58
没有析构函数,可以自动释放内存。
可以用“final subroutine", 有同样作用。
页:
[1]