我想实现一个指针数组,以便可以循环访问其中的元素。但是我不确定如何正确地实现:
TYPE(domain),POINTER :: d01,d02,d03
TYPE(domain),DIMENSION(:),POINTER :: dom
...
dom(1) => d01
dom(2) => d02
dom(3) => d03
...
接着:
...
IF(ASSOCIATED(dom(2),d02))THEN
...
编译器(pgf90 10.6-0 64位目标在 x86-64 Linux -tp istanbul-64 上)给我这个错误消息:
PGF90-S-0074-Illegal number or type of arguments to associated - keyword argument pointer (test_ptr.f90: 10)
0 inform, 0 warnings, 1 severes, 0 fatal for MAIN
据我所理解,我在对指针数组进行子集操作时存在问题。 dom(2)
和d02
都是秩为0的标量指针。正确的实现方法是什么?谢谢。