gpt4 book ai didi

types - 带有参数列表的 Fortran 类型定义

转载 作者:行者123 更新时间:2023-12-02 17:46:35 33 4
gpt4 key购买 nike

请看一下这段代码,为什么会有问题,我该怎么做呢?

program main
type matrix(m,n)
integer::m,n
double precision,dimension(1:m,1:n)::value
end type matrix

type(matrix(2,3))::B
print*,"OK"
end program

关于此的另一个问题是:我可以在类型定义或模块定义后跟一个参数列表吗?因为我从书上看到这段代码,不知道为什么我不能编译它。

最佳答案

撇开 MSB 关于定义 matrix 的观点不谈,如果你有一个最新的编译器,你可以定义和声明一个参数化定义类型更像是这样:

type matrix(m,n,k)
integer, len :: m,n
integer, kind :: k
real(kind=k), dimension(m,n) :: elements
end type matrix

...

type(matrix(4,3,selected_real_kind(0.0)) :: the_matrix

注意:

  • 并非所有广泛使用的 Fortran 编译器都实现了 2008 标准的这一特性;
  • 参数m,n,k在它们的声明中有一个特殊的属性,要么是len,要么是kind
  • 我包含 kind-type 参数只是为了表明它存在,在定义参数化派生类型时没有必要包含它。

关于types - 带有参数列表的 Fortran 类型定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13889326/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com