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

ste*_*987 1 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
Run Code Online (Sandbox Code Playgroud)

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

example_test_type%test_array[0,1] = 99 
Run Code Online (Sandbox Code Playgroud)

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

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

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

有什么想法吗?

Hig*_*ark 6

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

example_test_type%test_array[0,1] = 99 
Run Code Online (Sandbox Code Playgroud)

应该是

example_test_type%test_array(0,1) = 99 
Run Code Online (Sandbox Code Playgroud)

[] 用于指定共同索引的共同索引,因此,令您困惑的错误消息.

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