• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:宣言文)

宣言文のimplicit none宣言方法

このQ&Aのポイント
  • 宣言文のimplicit noneでの宣言方法について教えてください。
  • implicit noneを使って宣言文を宣言する方法を教えてください。
  • 宣言文をimplicit noneを使用して宣言する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.4

なんというか, 「最初から Fortran をやりなおせ」と言いたい.... 配列の上下界は integer じゃないといかんのよ....

BOY12345
質問者

お礼

そうなんすか!? テキストにそんなこと書いてなかったです。 ありがとうございます♪

その他の回答 (3)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

暗黙の規則を再確認することを強くお勧めします. なんで maxX とか maxY を real*8 で宣言するかなぁ....

BOY12345
質問者

補足

real*8はintegerを包括してると考えているので、こっちの方が融通きくのかなと思い、宣言してます。 厳格に、整数だから、integerで宣言しとくのがベターなんでしょうか?

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

> INTRINSIC mod > > エラーで > Error: The intrinsic data types of the arguments must be the same. [MOD] mod関数を呼び出しているところのソースを見せてください。 Fortranであることを、できれば明記していただきたいところです。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

最も簡単なのは, parameter 文の前にでも適切な型宣言を入れておくこと.

BOY12345
質問者

補足

現在、なんとかここまでいきました。 implicit none real*8 pi,dx,dy,dt,Te,gamma,alpha,a_const,valK_const real*8 e_bar,theta0,delta,j_num,val_tau,nwrite real*8 nstepT,nfile,ix,iy real*8 ic,istep real*8 maxX,maxY,xS,xE,yS,yE,numX,numY,nstep * parameter (maxX=500,maxY=500) parameter (xS=1.0d0,xE=1.0d0) parameter (yS=0.0d0,yE=1.0d0) parameter (numX=400,numY=400) parameter (nstepT=5000) parameter (nfile=200) * real*8 Tarr_M(0:maxX,0:maxY), Tarr_P(0:maxX,0:maxY) real*8 Earr_M(0:maxX,0:maxY),EParr_M(0:maxX,0:maxY) real*8 Parr_M(0:maxX,0:maxY), Parr_P(0:maxX,0:maxY) real*8 Vect_P(0:maxX,0:maxY,1:3) * real*8 P_work(0:maxY),Q_work(0:maxY),Tarr_W(0:maxX,0:maxY) * character*15 ofile LOGICAL*1 character*1 ihun,isen,iten,ione INTRINSIC mod エラーで Error: The intrinsic data types of the arguments must be the same. [MOD] と出てきます。

関連するQ&A