public bool update(registrationcommon objreg)
{
Userdl objuser = new Userdl();
try
{
return update(objreg);
}
catch (Exception e)
{
throw e;
}
}
问问题
68 次
4 回答
2
嗯,是的,它会的。您的方法无条件地调用自身,假设它Userdl
是registrationcommon
. (顺便说一句,你应该考虑改进你所有的名字。)
你怎么期望它终止?大概你打算调用一个不同 update
的方法 - 所以想想你想调用哪个方法,以及你应该如何调用它。它是不同类中的方法吗?同一类中的方法但具有不同的参数?
于 2013-03-16T10:13:28.930 回答
1
这是因为您在update
不停地递归调用函数:
public bool update(registrationcommon objreg)
{
// ...
return update(objreg);
// ...
}
你必须在某个时候终止它。
于 2013-03-16T10:13:05.250 回答
0
我认为,您在没有退出条件的情况下调用递归方法 - 这是一个问题!
于 2013-03-16T10:13:35.600 回答
0
每个update
呼叫update
,哪个呼叫update
,哪个...
每次调用方法时,您的当前位置都会被压入堆栈。在正常情况下,当您从方法调用返回时,您会从堆栈中“弹出”并回到原来的位置。但是,如果您在示例中的循环中执行此操作,最终堆栈会溢出。因此,术语“堆栈溢出”。
于 2013-03-16T10:16:06.590 回答