24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 3163  |  回复: 13
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

gelitao1234

金虫 (正式写手)

[求助] 请教 fortran 运行错误的原因

Error        1         Error: The storage extent of the dummy argument exceeds that of the actual argument.   [YY]        此类错误是是什么原因?怎么改正?
回复此楼
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

hklulu

木虫 (正式写手)

000

【答案】应助回帖

这个问题主要是由于有些编译器要求:在子函数中保证传递进来的数组在主程序中的下标也是从1开始的。

如在你的主程序中三维数组都是从零开始的,而在子函数中确实从1开始的,并且数组上下界都不一样,这造成了有些编译器认为是严重的错误,我也认为是,从而停止编译。

从你的程序来看,三维数组的定义不统一,为什么要不一样呢?强烈建议上下界一样。

再要注意部分赋值问题。在程序的111,112,118,119,127,145,147等行上,原来三维的数组进行了二维赋值,为何不用三个循环赋值呢,这样很容易出现问题。
00
10楼2012-05-04 15:08:51
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 14 个回答

hklulu

木虫 (正式写手)

000

【答案】应助回帖

感谢参与,应助指数 +1
实参和虚参不匹配或用到了没有声明的数组。
00
2楼2012-05-01 12:27:29
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

hklulu

木虫 (正式写手)

000

【答案】应助回帖


xzhdty: 金币+1, 欢迎常来程序语言看看 2012-05-02 06:43:50
如果数组长度不确定,可以用(*)在被调用的函数中声明数组。
00
3楼2012-05-01 12:29:45
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

Carpathia

银虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty: 金币+1, 欢迎常来程序语言讨论 2012-05-02 06:43:36
函数体里的形式参数的数组大小超过了主程序里的实际参数数组大小,也就是参数不匹配。
更改可以是使用(1)显式结构形参数组,(2)不定结构形参数组
1) 显式结构形参数组:
subroutine subr(n,array)
integer:: n
real:: array(n)

2) 不定结构形参数组
subroutine subr(array)
real:: array(
追求理想的道路上东张西望
4楼2012-05-01 13:02:53
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见