1

C ++入門書、第4版からの引用:

例外がcatch例外指定子と一致する場合の規則は、引数をパラメーター型と一致させるために使用される規則よりもはるかに制限が厳しくなります。ほとんどの変換は許可されていません。例外のタイプとcatch指定子は、いくつかの可能な違いと完全に一致する必要があります。

1.nonconstからconstへの変換が許可されます。つまり、nonconstオブジェクトのスローは、const参照を取得するために指定されたcatchと一致する可能性があります。

最初の用語を説明する例を教えてください。どうもありがとう!

4

1 に答える 1

4

これが例です

int main()
{
  try
  {
    int x = 1;
    throw x;
  }
  catch (const int& e)
  {
    cout << "caught " << e << '\n';
  }
}

非constをスローしますが、。intでキャッチしますconst int&

于 2012-08-03T07:04:50.180 に答える