找回密码
 注册
Simdroid-非首页
查看: 103|回复: 2

[3. Fortran] fortran module问题请教,谢谢!!!

[复制链接]
发表于 2010-8-7 14:41:32 | 显示全部楼层 |阅读模式 来自 北京航空航天大学
module中可以对变量赋值吗,可以的话怎样赋值,下边一段代码编译出错
module global
integer:: r
r=100
end module
Error: This statement must not appear in the specification part of a module [r]
还有:下边的定义数组的形式可以吗?
subroutine eample(r,y)
integer,intent(in):: r
real,intent(out):: y(r)
....
end subroutine
其中r是传入的参数,我照上述编是通不过的
Error: A specification expression object must be a dummy argument, a COMMON block object, or an object accessible through host or use association   [R]
或者是:Error: prPromoteSym : Illegal KIND & CLASS mix   [R1]
这该如何解决?必须用变大小的数组定义吗?就是必须用allocate吗?
还有请高手看看上面几个具体的错误是什么原因,那几个错误指的是什么意思,请指导!
谢谢,不甚感激
发表于 2010-8-14 09:24:29 | 显示全部楼层 来自 四川成都
Simdroid开发平台
新手路过,这个还真没碰到过
回复 不支持

使用道具 举报

发表于 2010-8-15 16:15:27 | 显示全部楼层 来自 北京
本帖最后由 gallon 于 2010-8-15 16:27 编辑

可以这样写,都在一个MODULE里定义,子函数也调用全局变量
MODULE GLOBAL
IMPLICIT NONE
SAVE
INTEGER,PARAMETER::IX=49
real y(ix)
……
END MODULE GLOBAL

子函数
SUBROUTINE GEOM
USE GLOBAL
……
end

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-11-1 11:41 , Processed in 0.054845 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表