C ++で間違った配列参照をキャッチするにはどうすればよいですか?次のコードが機能しないのはなぜですか。
#include <exception>
int * problemNum = new int;
int (* p [100])() = {problem1, problem2, problem3};
...
try {
cout << (*p[*problemNum-1])();
}
catch (exception){
cout << "No such problem";
}
私のコンパイラは次のように言っています:Euler.exeの0xccccccccで未処理の例外:0xC0000005:アクセス違反。0
*problemNumとして入力して不正な参照を開始したとき。