根据Fortran标准信息,我可以找到(F77,F90/95)一个数组声明符,其中没有下限假定该下限为1.由于上限需要大于或等于下限,会不允许以下声明:
INTEGER A(0)
Run Code Online (Sandbox Code Playgroud)
但是,我不能让ifort和gfortran以任何方式抱怨这个说法.编译器是否需要将此标记为错误?
由于上限需要大于或等于下限,这将使得以下语句不被允许.
来自Fortran 2008标准:
5.3.8.2显式形状数组
[...] 3每个下限和上限的值确定数组沿特定维度的边界,从而确定该维度中数组的范围.如果出现下限,则表示下限; 否则下限为1.下限或上限的值可以是正数,负数或零.该维度中数组的下标范围是包含下限和上限的整数值的集合,前提是上限不小于下限.如果上限小于下限,则范围为空,该维度中的范围为零,并且数组的大小为零.
归档时间: |
|
查看次数: |
1508 次 |
最近记录: |