値付きの変数を別のサブルーチンからサブルーチンに渡す方法を理解しようとしています。Fortranのサブルーチンへのパラメータの受け渡し
私はコードを持っている:
program pg
call sub()
end
subroutine sub()
character :: P(12,12)
character :: D(20), N(26), userInput
integer :: A,B
A = 5
B = 2
userInput = "hello"
call test(P,D,N,userInput,A,B)
end subroutine
subroutine test(P,D,N,userInput,A,B)
end subroutine test
をしかし、それは私の警告提供します:場合、私はおろか、この警告を取り除く方法については、正確にはわからない
Warning: Type mismatch in argument 'p' at (1); passed CHARACTER(1) to REAL(4)
をサブルーチン呼び出しが正しい(構文が賢明)。どんな助けでも大歓迎です。
サブルーチン 'test'を完了する必要があります。あなたがそこに引数の型を宣言していないので、デフォルトの型付け規則が使用されます。あなたのコンパイラがインターフェイスをチェックしていて、それらが一致していないと感じるようです。 – francescalus
私はかなりfortranに慣れていますが、私はそこで引数の種類をどのように宣言しますか?私は実際にそれを行う方法を実際に知りません。 – werrer
これはおそらくここで答えるには少し広すぎますが、[documentation](http://stackoverflow.com/documentation/fortran/1106/procedures-functions-and-subroutines#t=20170206030408357924)が役立つかもしれません。 – francescalus