回 帖 发 新 帖 刷新版面

主题:gfortran对于type对象,为什么不能用dot来选择对象成员?

!  type::person
!      integer::height,weight
!  end type
!
!  type(person)::a(10)
!
!   do i=1,10
!      a(i).height=i
!      a(i).weight=i
!
!    end do
这样就error

!  type::person
!      integer::height,weight
!  end type
!
!  type(person)::a(10)
!
!   do i=1,10
!      a(i)%height=i
!      a(i)%weight=i
!    end do

标准写法对的,是不是gfortran识别不了下面的点号?

回复列表 (共17个回复)

沙发

不了解,难道现在标准允许用dot访问成员了?

板凳

楼主是不是跟某语言的语法混在一起了啊?

3 楼

[quote]楼主是不是跟某语言的语法混在一起了啊?[/quote]
fortran教程上的,在cvf上面可以用dot,在gfortran上面不能用。没有混在一起,我只是调用fortran的dll

4 楼

[quote]不了解,难道现在标准允许用dot访问成员了?[/quote]
在cvf6.6上面可以用dot访问type的成员

5 楼

我也是跨平台使用fortran, 一般看比较通用的书, 没看过针对cvf的教程.
自定义类型变量印象中没提到用dot, 后来2003标准的class可否用就不记得了, class现在还是很少用.

6 楼

lz应该知道什么叫标准语法,什么叫扩展语法。
本来这种比较就没有意义,如果要谈论bug的话,要比较同种编译器的不同版本。

7 楼

[quote]lz应该知道什么叫标准语法,什么叫扩展语法。
本来这种比较就没有意义,如果要谈论bug的话,要比较同种编译器的不同版本。[/quote]
我就是想知道哪种用着最可靠方便。

8 楼

比较可靠的还是用标准, 严格按照标准写移植问题就不大. 不过确实完全按照标准写有些代码很不方便或者很啰嗦. 既然linux下用%都可以就用%吧. (ivf不知道是否支持dot, 虽然一直用ivf但没用过dot)

9 楼

[quote]比较可靠的还是用标准, 严格按照标准写移植问题就不大. 不过确实完全按照标准写有些代码很不方便或者很啰嗦. 既然linux下用%都可以就用%吧. (ivf不知道是否支持dot, 虽然一直用ivf但没用过dot)[/quote]
恩,为了避免不必要的麻烦,还是用国际标准。微软搞的cvf就是喜欢搞特殊,用dot。

10 楼

说一下,cvf和微软没啥关系,这个是康柏的

我来回复

您尚未登录,请登录后再回复。点此登录或注册