参见下面的示例
program test
character(10),dimension(5):: models = (/"feddes.swp", "jarvis89.swp", "jarvis10.swp" , "pem.swp", "van.swp"/)
end返回以下错误:
数组构造函数中的不同字符长度(10/12)
ifort编译器没有错误。为什么gfortran会发生这种情况,有什么办法可以避免这个问题呢?
发布于 2014-02-04 12:29:47
构造函数中有一些长度12,所以最好使用length 12。
另外,请使用
character(len=12), dimension(5) :: models = [character(len=12) :: "feddes.swp", &
"jarvis89.swp", "jarvis10.swp", "pem.swp", "van.swp"]如果您有编译器支持,则可能更好的是
character(len=*), dimension(*) :: ...发布于 2018-01-04 21:12:03
最初的代码被ifort接受,但它不是标准的fortran,因此来自gfortran的错误。如果您将选项-std提供给ifort,当编译器允许这样的扩展时,它将打印警告。
https://stackoverflow.com/questions/21552430
复制相似问题