参见下面的例子

 program test

 character(10),dimension(5):: models = (/"feddes.swp", "jarvis89.swp", "jarvis10.swp" ,   "pem.swp", "van.swp"/)

end

返回以下错误:



ifort编译器没有错误。为什么在gfortran中会发生这种情况,有什么办法可以解决这个问题?

最佳答案

您在构造函数中有一些长度12,因此使用长度12可能更好。

另外,改用

character(len=12), dimension(5) :: models = [character(len=12) :: "feddes.swp", &
                "jarvis89.swp", "jarvis10.swp", "pem.swp", "van.swp"]

如果有编译器支持,可能更好的是
character(len=*), dimension(*) :: ...

关于fortran - gfortran不允许使用具有不同组件长度的字符数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21552430/

10-13 09:53