本文介绍了FORTRAN - 子程序分配数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在子程序中使用的可分配数组,但编译器抱怨

 错误:虚参'LOCS在变量定义背景下INTENT(IN)(ALLOCATE对象)在(1)

我能找到的唯一的事情是,我应该使用一个明确的接口,我做的。在这里,有关code子例程:

 递推SUBROUTINE在一起(LOCS,LL,RL)    INTEGER,DIMENSION(:, :),可分配,意向(IN):: LOCS
    INTEGER,意向(IN):: LL,RL
    ALLOCATE(LOCS(LL,RL))
END SUBROUTINE在一起


解决方案

编译器的错误信息一个描述性的问题。随着 INTENT(IN)你是说这个对象将不会改变,但你去尝试 ALLOCATE 吧。

是的,一个显式接口将需要调用,但是这是没有问题的。

在2008年的Fortran标准说,在5.3.10节的

Allocation is one such context: section 16.6.7, point (11).

这篇关于FORTRAN - 子程序分配数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-30 01:51