| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 717 人关注过本帖
标题:求助,已经定义过的参数的过程怎么出现无效过程调用或参数问题?
只看楼主 加入收藏
gj5579
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-8-27
收藏
 问题点数:0 回复次数:5 
求助,已经定义过的参数的过程怎么出现无效过程调用或参数问题?

我的程序如下

Private Sub Form_Click()
Dim ea(2, 365, 24) As Double

Dim i As Integer, m As Integer, n As Integer

For i = 1 To 2
For m = 1 To 365
For n = 1 To 24
ea(i, m, n) = 1.24 * ((a(i, m) / b(i, m, n)) ^ (1 / 7))
Next n
Next m
Next i

End Sub

其中在模块中
Public b(2, 365, 24) As Single

Public a(2, 365) As Single

而且在前面的程序已经将b(2, 365, 24),a(2, 365)算出

但是ea(i, m, n) = 1.24 * ((a(i, m) / b(i, m, n)) ^ (1 / 7))中出现无效过程调用或参数问题

我将a(i,m)换成2来算 问题仍然存在
将b(i,m,n)换成2来算 问题解决

也就是说b(i,m,n)这里出现问题? 我也看了自己算出来的b(i,m,n)的结果 没有一个等于0的情况

请问为什么已经定义过而且已经算出来的参数会出现这个问题?

谢谢!

搜索更多相关主题的帖子: 参数 定义 Integer Next For 
2007-10-10 16:53
dawn4640576
Rank: 1
等 级:新手上路
帖 子:1079
专家分:0
注 册:2007-9-19
收藏
得分:0 
有可能是数据类型的事.换类型试试.

我看青山多妩媚料青山看我应如是
2007-10-10 17:08
gj5579
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-8-27
收藏
得分:0 
楼上的 你好啊

我原来定义的是 single 现在定义成了double

可是还是不行 我应该换成什么数据类型?谢谢

[此贴子已经被作者于2007-10-11 0:21:18编辑过]

2007-10-11 00:14
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
上边代码在我机子上运行正常

Repeat  Life=Study;Until (death);
2007-10-11 01:11
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
是不是你别的地方定义了名字为b的函数呢?

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-10-11 07:55
gj5579
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-8-27
收藏
得分:0 
楼上的同问好

昨天晚上弄了一晚上 解决了办法

ea(i, m, n) = 1.24 * ((a(i, m) / b(i, m, n)) ^ (1 / 7))

中b(i,m,n)中有负值

我加一个abs函数

最后变成ea(i, m, n) = 1.24 * ((a(i, m) /abs( b(i, m, n))) ^ (1 / 7))

最后再进行判断一下就行了

我只是奇怪。。为什么VB会因为底数为负就不做根号运算
2007-10-11 09:47
快速回复:求助,已经定义过的参数的过程怎么出现无效过程调用或参数问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035042 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved