gpt4 book ai didi

arrays - FORTRAN - 子程序中的可分配数组

转载 作者:行者123 更新时间:2023-12-04 23:51:00 25 4
gpt4 key购买 nike

我正在尝试在子例程中使用可分配数组,但编译器提示说

Error: Dummy argument 'locs' with INTENT(IN) in variable definition context (ALLOCATE object) at (1)

我唯一能找到的是我应该使用一个显式接口(interface),我正在这样做。这里是子程序的相关代码:
    RECURSIVE SUBROUTINE together(locs, LL, RL)

INTEGER, DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: locs
INTEGER, INTENT(IN) :: LL, RL


ALLOCATE(locs(LL,RL))


END SUBROUTINE together

最佳答案

编译器的错误消息是对问题的一种描述。与 INTENT(IN)你是说对象不会改变,但你继续尝试 ALLOCATE它。

是的,调用需要一个显式接口(interface),但这不是问题。

Fortran 2008 标准在第 5.3.10 节中说

A nonpointer object with the INTENT (IN) attribute shall not appear in a variable denition context



分配就是这样一种背景:第 16.6.7 节,第 (11) 点。

关于arrays - FORTRAN - 子程序中的可分配数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22169365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com