-9
    public bool update(registrationcommon objreg)
    {
        Userdl objuser = new Userdl();
        try
        {
          return update(objreg);

        }
        catch (Exception e)
        {
            throw e;
        }
    }
4

4 に答える 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、それを呼び出します。updateupdate

メソッドを呼び出すたびに、現在の場所がスタックにプッシュされます。通常の場合、メソッド呼び出しから戻ると、スタックから「ポップ」して元の場所に戻ります。ただし、例のようなループでこれを行うと、最終的にスタックがオーバーフローします。したがって、「スタックオーバーフロー」という用語。

于 2013-03-16T10:16:06.590 に答える