나는 서브 루틴에 할당 가능한 배열을 사용하기 위해 노력하고있어하지만 컴파일러는 내가 찾을 수있는 유일한 것은 내가 명시 적 인터페이스를 사용 하죠이었다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 (loc. .eq. next (k : k + 1))) THEN' 이들은 동일하지 않다. 순위, 전체 경로를 반복하지 않고이 문제를 해결할 방법을 생각할 수는 없다는 것을 알고 있습니다. –
당신이하려는 일에 대해 세부적인 질문을 해보십시오. – IanH
댓글의 새 질문을 다시 작성하십시오. 논리 플래그를 false로 설정하십시오. IF 문을 포함하는 명명 된 루프를 설정하여 조건을 확인하십시오. 조건이 만족되면, 플래그를 true로 설정하고 'exit'를 사용하여 루프를 일찍 종료하십시오. –