내 서브 루틴에서 배열을 정의한 다음 항목이 작성되기 전에 숫자로 채 웁니다. 내 프로그램에서 나는 또한 항목 앞에 서브 루틴을 호출합니다. 내 항목에서 나는이 배열을 사용하지만 서브 루틴에서는 0이 아니지만 엔트리에서는 0으로 돌아 간다.서브 루틴에서 정의 된 변수는 (서브 루틴 내에서) 엔트리로 이어집니다.
SRL(1)=SRW+4
DO 10 I=2,NLAY
10 SRL(I)=SRL(I-1)+MLAY(I-1)+1
LAST=SRL(NLAY)+MLAY(NLAY)
SRW=LAST
RETURN
ENTRY STLOAD(NUMG,M,L,S,T,SS,TS,W,TAU)
N=SRL(L)+M-1
READ(10,REC=N) W1,TAU1,S1,T1,SS1,TS1
이것은 내가 내 레코드 번호는 긍정적 아니다라고 때문에, 문제가 발생하고있어 어디 :
내 모든 코드를 복사하지 않고, 이것은 관련이 서브 루틴의 섹션 내가 SRL(1)
(이 경우 L
은 1
)이라고 쓰는 것은 제로라고 말하지만, 무엇을 쓸 때 엔트리 위의 코드 블록에 SRL(1)
이 무엇입니까? 5
입니다.
변수 SRL(L)
은 서브 루틴 시작시 선언됩니다.
디버거를 사용합니까? – Peter
저는 디버거입니다. @Peter – user3629603
나는 이것을 후회할 것임을 알지만,''SRL'에'save' 속성을 설정 했습니까? (힌트 :'entry'는 사용하지 말고'save'는 사용하지 마십시오.) –