作为fortran中的对象属性的数组 - coarrays被禁用了吗?

时间:2013-11-25 18:01:45

标签: oop fortran fortran90

我正在使用GNU gfortran(gfortran -v4.8.2),我在使用数组作为对象属性时遇到了麻烦。这就是我的意思:

type test_type
  real*8 test_array(10,20)
end type test_type

type (test_type) example_test_type

稍后当我尝试分配test_array的元素时:

example_test_type%test_array[0,1] = 99 

编译器抱怨(致命错误):

致命错误:在(1)处禁用Coarray,使用-fcoarray =启用

从我能找到的一点点来看,coarray旨在促进对并行编程的支持,我绝对不会在这里做。

有什么想法吗?

1 个答案:

答案 0 :(得分:6)

您在此声明中使用了错误类型的括号/括号/圆括号(第一圈):

example_test_type%test_array[0,1] = 99 

应该是

example_test_type%test_array(0,1) = 99 

[]用于指定共同索引的共同索引,因此,对您来说,这是一个令人困惑的错误消息。

接下来,您将在引用数组的元素(0,1)时出现问题,因为默认情况下,Fortran索引从1开始。