请教一个关于抛出内存溢出的问题

mm027 2017-05-31 04:23:00
用vb.net编写了一段求解方程组的循环体,运行至第二次循环时,在定义一个二维数组是抛出内存溢出异常。
但此时物理内存仅占用了28%,而且循环过程无数据累加,请赐教,不胜感激
...全文
210 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
shoppo0505 2017-06-02
  • 打赏
  • 举报
回复
BVCount , VarCount 是总数,当时作为下标使用的时候,需要减去1,因为下标是从0开始的。 For i = 0 To BVCount -1 |------这样的取下标还准吗? BasFomVector(i) = StaFomCoeVector(BVSupVector(i)) '| For j = 0 To VarCount - 1 | 'StaCoeMatrix(j, BVSupVector(i)) <------------|......这里可以看出是多维数组. BaseMatrix(j, i) = StaCoeMatrix(j, BVSupVector(i)) Next Next
im战术 2017-06-01
  • 打赏
  • 举报
回复

Dim BasMatInverse(UBound(BaseMatrix, 1), UBound(BaseMatrix, 2)) As Double
'Dim i, j As Long '在VB里是不用声明的,直接for就已声明了.
Dim BVCount, VarCount As Integer
'BVSupVector.GetUpperBound(0) '只会返回Integer,你拿Long赋值还是最多只能等于Integer
BVCount = BVSupVector.GetUpperBound(0)
'StaCoeMatrix.GetUpperBound(0)  <----------------------|......一个是总下标
VarCount = StaCoeMatrix.GetUpperBound(0) '             |
'                                                      |
For i = 0 To BVCount '                                 |------这样的取下标还准吗?
    BasFomVector(i) = StaFomCoeVector(BVSupVector(i)) '|
    For j = 0 To VarCount '                            |
        'StaCoeMatrix(j, BVSupVector(i))  <------------|......这里可以看出是多维数组.
        BaseMatrix(j, i) = StaCoeMatrix(j, BVSupVector(i))
    Next
Next

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧