我想在子程序中使用的可分配数组,但编译器抱怨FORTRAN - 子程序
Error: Dummy argument 'locs' with INTENT(IN) in variable definition context (ALLOCATE object) at (1)
我能找到的唯一的事情是,我应该使用显式接口分配数组,我正在做什么。这里的子程序的相关代码:
RECURSIVE SUBROUTINE together(locs, LL, RL)
INTEGER, DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: locs
INTEGER, INTENT(IN) :: LL, RL
ALLOCATE(locs(LL,RL))
END SUBROUTINE together
谢谢。现在有道理!我试图这样做的原因是因为我试图让它工作: 'IF(ANY(locs .eq。next(k:k + 1)))THEN' 它们不一样排名,我知道,但我无法想象一个解决方法,不通过整个数组循环 –
尝试问一个单独的问题,详细说明你正在尝试做什么。 – IanH
重新评论中的新问题。设置一个逻辑标志为false。设置一个包含IF语句的命名循环来检查条件。如果条件满足,将标志设置为true并使用'exit'提前退出循环。 –