Czy jest możliwe, aby precyzja samej zmiennej była zmienną, która zostanie zdefiniowana w czasie wykonywania? Say, gdy próbuję skompilować:Fortran - ustawienie rodzaju/precyzji zmiennej w czasie wykonywania
SUBROUTINE FOO(VARIABLE, PRECISION_VALUE)
IMPLICIT NONE
INTEGER(4) :: PRECISION_VALUE
INTEGER(PRECISION_VALUE) :: VARIABLE
RETURN
END
wyjście Kompilator:
error #6683: A kind type parameter must be a compile-time constant. [PRECISION_VALUE]
INTEGER(PRECISION_VALUE) :: VARIABLE
--------------^
compilation aborted for trial.f (code 1)
Zresztą wokół niego? Rozumiem, że żadna arbitralna wartość nie może być użyta dla KIND
, ale to nie jest moja sprawa w tym pytaniu.
Być może http://stackoverflow.com/questions/2560182/fortran-determine-variable-type lub http://stackoverflow.com/questions/2257248/how-to-write-wrapper- for-allocate pomoże z co chcesz robić. –