は今、私はこのは
program prova
CHARACTER (LEN=4) :: mvalue
common mvalue
mvalue='01.0'
call funzione(var1, var2,...)
end
subroutine funzione()
common mvalue
*(stuff with var1, var2, ...)*
open(10,file="./prova_"//mvalue//"_.res")
end
のようなものを持っているファイル名に文字列を取り付け、コンパイラが返す
open(10,file="./prova_"//mvalue//"_.res")
1
Error: Operands of string concatenation operator at (1) are CHARACTER(1)/INTEGER(4)
私が「暗黙のなし」命令を使用できるかどうか私は知りません実際のコードは多分それが他のものを混乱させるかもしれないから...もし私がもっと正確ではない場合は申し訳なく思っていますが、私はFORTRANには新しく、コードはちょっと拡張されています不完全に)。 私は日常的にmvalue変数を渡すことを好むだろうが、私は
program prova
CHARACTER (LEN=4) :: mvalue
mvalue="01.0"
call func(mvalue)
end
subroutine func(mvalue)
open(10,file="./prova_"//mvalue//"_.res")
end
を行うにしようとコメンターは、すでに指摘したように、2つの異なる二重引用符を使用していることが
open(10,file="./prova_"//mvalue//"_.res")
1
Error: Operands of string concatenation operator at (1) are CHARACTER(1)/INTEGER(4)
prova.f:4.16:
call func(mvalue)
Warning: Type mismatch in argument 'mvalue' at (1); passed CHARACTER(1) to INTEGER(4)
として宣言されています。 –
''unknown''も無効です –
もう一つの勧告: 'status = 'unknown''を使用する理由はありません。ちょうどそれを残す。または理由がある場合は、既知のステータス値を使用してください。 –