Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fortran从变量定义参数_Fortran_Fortran90 - Fatal编程技术网

Fortran从变量定义参数

Fortran从变量定义参数,fortran,fortran90,Fortran,Fortran90,我希望在我的模块中定义一个不会因输入变量而改变的参数 示例 module foo contains subroutine function1(external_var) integer, parameter x = external_var(1) write(*,*) x end subroutine function1 end module foo 然而,这给出了一个错误 PGF90-S-0087-Non-constant expressi

我希望在我的模块中定义一个不会因输入变量而改变的参数

示例

module foo
    contains
    subroutine function1(external_var)
       integer, parameter x = external_var(1)
       write(*,*) x
    end subroutine function1
end module foo
然而,这给出了一个错误

PGF90-S-0087-Non-constant expression where constant expression required

“参数”(命名常量)必须在“编译时”已知。然而,从您的代码片段来看,没有明显的理由说明为什么需要
x
作为命名常量。你能解释一下你想用输入变量集一次性做什么吗?如果是这样的话,我们可以给你一些可供选择的方法,也请注意,因为与<代码>外部AULVAR 相关联的实际参数可能是常数,并不意味着数组外部EXALVAR是从文件中读取并修复的,我想把它分配给一个不会改变的参数。我在代码中遇到了一些问题,数组被擦除,并希望防止它们被修改。受保护可能会达到OP的要求-