Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
堆栈空间不足(错误28)VBA_Vba_Fortran - Fatal编程技术网

堆栈空间不足(错误28)VBA

堆栈空间不足(错误28)VBA,vba,fortran,Vba,Fortran,我试图将一个包含大量嵌套goto语句的旧Fortran程序转换为VBA,但在标题中提到了错误。我转换的方式是每个语句,我将其设置为函数,然后调用函数或语句,而不是goto,但显然这不是正确的转换方式。我还能做什么?提前谢谢 如果看不到无止境循环的位置,请尝试向所有函数添加公共计数器。如果超过给定值,则停止程序。然后尝试用F8调试以查看无休止的循环。我的意思是这样的: Option Explicit Public counter As Long Public Sub TestMe()

我试图将一个包含大量嵌套goto语句的旧Fortran程序转换为VBA,但在标题中提到了错误。我转换的方式是每个语句,我将其设置为函数,然后调用函数或语句,而不是goto,但显然这不是正确的转换方式。我还能做什么?提前谢谢

如果看不到无止境循环的位置,请尝试向所有函数添加公共计数器。如果超过给定值,则停止程序。然后尝试用F8调试以查看无休止的循环。我的意思是这样的:

Option Explicit

Public counter  As Long

Public Sub TestMe()

    While True
        FunctionSomething
    Wend

End Sub

Public Function FunctionSomething()

    counter = counter + 1
    If counter > 100 Then Stop

End Function

现在,如果您运行
TestMe
它将在第100次迭代时停止。

您将需要提供您所做的,很可能您有一个永远不会结束的循环。您可能调用相同的函数或次无限YMSDN说:10000在调用堆栈中已经非常深了。。。10-20应该足够了!“好吧,让我们把它设为100,”马特自鸣得意地说。