gpt4 book ai didi

fortran - Fortran PURE FUNCTION 中局部变量的声明和初始化

转载 作者:行者123 更新时间:2023-12-02 18:23:24 25 4
gpt4 key购买 nike

我有一个如下所示的函数:

PURE FUNCTION simulate(initial_state, time_specification)
TYPE(ocean), INTENT(IN) :: initial_state
TYPE(simulation_time), INTENT(IN) :: time_specification
TYPE(ocean) :: simulate
REAL :: t = 0.0
! etc
END FUNCTION simulate

gfortran 4.8.1 告诉我

 REAL :: t = 0.0
1
Error: Initialization of variable at (1) is not allowed in a PURE procedure

据我了解,我应该能够在纯函数中使用局部变量,只要它们没有 SAVE 属性。那么我做错了什么?

最佳答案

在现代 Fortran 初始化下意味着SAVE。从F2008 5.2.3开始

Explicit initialization of a variable that is not in a common block implies the SAVE attribute, which may be confirmed by explicit specification.

你可以使用局部变量,但只是

real t
t = 0

这不是初始化。

关于fortran - Fortran PURE FUNCTION 中局部变量的声明和初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21418576/

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