public bool update(registrationcommon objreg)
{
Userdl objuser = new Userdl();
try
{
return update(objreg);
}
catch (Exception e)
{
throw e;
}
}
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 に答える