Comment saisir une mauvaise référence de tableau en C++? Pourquoi pas le travail de code suivant:Saisir une mauvaise référence de tableau en C++
#include <exception>
int * problemNum = new int;
int (* p [100])() = {problem1, problem2, problem3};
...
try {
cout << (*p[*problemNum-1])();
}
catch (exception){
cout << "No such problem";
}
Mon compilateur dit: exception non gérée à 0xcccccccc en Euler.exe: 0xC0000005: violation d'accès. lorsque j'initie une mauvaise référence en entrant 0
comme * numéroDeNuméro.
Vous ne voulez vraiment pas commencer à attraper SIGSEGV dans ce cas. Il est absolument faux d'utiliser des fautes de segmentation comme vérification de limite de tableau. Mieux vaut juste utiliser std :: vector. – sth