Bonjour,
j'ai un petit code de C++ pour tester le temps d'un algo de tri.
je suis sous visual studio 2013.
C'est un bug ou quoi ? On ne peut stoker 1 million dans un int qui culmine à INT_MAX= 2147483647 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int _tmain(int argc, _TCHAR* argv[]) { const int NBtab =1000000; //erreur à l’exécution srand(static_cast <unsigned int> (time(NULL)));//initialisation du generateur de nombre aleatoire int tab[NBtab]; ...
Après un petit test, sans erreur
je viens de voir que c'est le tableau[1 million] qui déclenchait l'erreur car trop gros pour tenir dans la pile, et pourtant c'est la déclaration de NBtab qui lève l’exception, un défaut du debugger visual ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 const int NBtab =100000; //100 mille const int NBtab2 = 10000000; //10 millions int tab[NBtab];
ou c'est normal, quelqu’un peut m'expliquer ?
Partager