Debug Assertion Failed
Bonjour,
je fait mon code C++ mais il m'apparaît une faute dans le fichier.cpp
Microsoft Visual C++ Debug Library
Debug Assertion Failed!
Program: ...
File: c:\program files\microsoft visual studio10.0\vc\include\vector
Line: 932
Expression: vector subscript out of range
For information on how your program can cause an assertion
Failure, see the Visual C++ documentation on asserts.
et la faute m'apparait dans cette ligne ==>
for (unsigned int j=0;j < 10;j++) {
double temp5 = cL[i][j];
double temp6 = cH[i][j];
sigL.push_back(temp5);
sigH.push_back(temp6);
}
merci pour votre aide
je fait mon code C++ mais il m'apparaît une faute dans le fichier.cpp
Microsoft Visual C++ Debug Library
Debug Assertion Failed!
Program: ...
File: c:\program files\microsoft visual studio10.0\vc\include\vector
Line: 932
Expression: vector subscript out of range
For information on how your program can cause an assertion
Failure, see the Visual C++ documentation on asserts.
et la faute m'apparait dans cette ligne ==>
for (unsigned int j=0;j < 10;j++) {
double temp5 = cL[i][j];
double temp6 = cH[i][j];
sigL.push_back(temp5);
sigH.push_back(temp6);
}
merci pour votre aide
A voir également:
- Node vulcanjs assertion failed vulcanjs.node
- Boot failed - Guide
- Efi pxe network boot failed lenovo ✓ - Forum Windows 10
- Io1 initialization failed - Forum Windows 10
- Windows failed to start - Forum Windows 7
- Default boot device missing or boot failed - Forum Matériel & Système
2 réponses
Hé bien comme le dit le message d'erreur tu accèdes vraisemblablement à une case en dehors de ton vecteur, sans doute parce que la valeur de i ou j te fait tomber en dehors de cL ou de cH.
Tu devrais afficher avec ton debugger ou écrire dans std::cout les valeurs de i, j, et les dimensions de cL et cH.
Par ailleurs et même si le problème ne vient pas de là, i et j devraient en toute rigueur être de type std::size_t.
Bonne chance
Tu devrais afficher avec ton debugger ou écrire dans std::cout les valeurs de i, j, et les dimensions de cL et cH.
for (unsigned int j = 0; j < 10; j++) {
std::cout << "i = " << i << std::endl
<< " j = " << j << std::endl
<< " cL.size() = " << cL.size() << std::endl
<< " cH.size() = " << cH.size() << std::endl;
double temp5 = cL[i][j];
double temp6 = cH[i][j];
sigL.push_back(temp5);
sigH.push_back(temp6);
}
Par ailleurs et même si le problème ne vient pas de là, i et j devraient en toute rigueur être de type std::size_t.
Bonne chance
widedtlig
merci pour l'aide mais je viens de l'essayer mais ça reste la même problème
merci pour l'aide mais je viens de l'essayer mais ça reste la même problème
Ce que je t'ai indiqué ne résout rien, ça permet juste de comprendre où tu t'es trompé... à mon avis ta valeur de i est supérieure ou égale à cL.size() ou cH.size(), ou ta valeur de j est supérieur à cL[i].size() ou cH.size().
Bonne chance
Ce que je t'ai indiqué ne résout rien, ça permet juste de comprendre où tu t'es trompé... à mon avis ta valeur de i est supérieure ou égale à cL.size() ou cH.size(), ou ta valeur de j est supérieur à cL[i].size() ou cH.size().
Bonne chance