- 1 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 09:55:26 ]
- このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 FORTRAN使いが優しくコメントを返しますが、 お礼はFORTRANの布教と初心者の救済と次期Fortran2008規格でのCOMEFROM文採用をお願いします。 ●注意事項 ・質問する前にGoogle等の検索サイトで検索しましょう。 ・回答者にわかりやすい様に、質問内容はできる限り詳しく書きましょう。 ・エラーの場合は起きた状況、環境(OS・コンパイラ・バージョン)、エラーメッセージも詳しく書きましょう。 ●前スレ くだすれFORTRAN(超初心者用) pc8.2ch.net/test/read.cgi/tech/1138063703/ くだすれFORTRAN(超初心者用)その2 pc11.2ch.net/test/read.cgi/tech/1164121236/ ●関連スレ FORTRAN W pc8.2ch.net/test/read.cgi/tech/1163319215/
- 480 名前:デフォルトの名無しさん [2008/08/22(金) 14:34:23 ]
- 以下のコードは、配列を受け取る手続きcallbackを別の手続きforward
に渡すコードです。forwardでは、callbackに対応する仮手続きの引用 仕様で、この配列が1開始添え字(つまりデフォルト)としているが、 callbackでは、0開始添え字になっています。 このような「添え字のずらし」は合法のはずですが、これをコンパイル すると、g95ではOK、intel fortranではコンパイルエラーとなります。 質問は、これがintel fortranの方言によるものなのか、規格上の根拠 があるのか、どちらなのかということです。
- 481 名前:デフォルトの名無しさん [2008/08/22(金) 14:36:14 ]
- module dummyproc
contains subroutine callback(x) real(8), dimension(0:) :: x end subroutine subroutine forward(cb,x) interface subroutine cb(x) real(8), dimension(:) :: x end subroutine end interface real(8), dimension(:) :: x call cb(x) end subroutine end module use dummyproc real(8), dimension(5) :: x x = (/1d0, 2d0, 3d0, 4d0, 5d0/) call forward(callback, x) end
|

|