Je n'arrive pas à créer une simple sélection de fichier dans ncurses. Le code suivant échoue, valgring dire "saut conditionnel ou mouvement dépend de la valeur uninitialised (s) de main.cpp: 122"ncurses new_menu segmentation fault
// Create items
m_MenuItems = new ITEM * [ m_Files.size() + 1 ];
int i = 0;
for (vector <CFile>::iterator it = m_Files.begin(); it != m_Files.end(); ++it, ++i) {
/* m_MenuItems[i] = new_item((*it).pName->c_str(), (*it).pDesc->c_str()); */
m_MenuItems[i] = new_item("file", "size");
cout << "[" << i << "]: " << (*it).pName->c_str() << ", " << (*it).pDesc->c_str() << endl;
} m_MenuItems[++i] = NULL; // Item list has to be null terminated.
// Create menu
m_Menu = new_menu((ITEM **)m_MenuItems); // ! line 122
cout << "Success" << endl;
La sortie est exactement ceci:
[0]: main.cpp, 6888
[1]: a.out, 106798
[2]: .., 4096
[3]: listdir.cpp, 701
[4]: menu.cpp, 1908
[5]: ., 4096
Segmentation fault (core dumped)
Que pourrait probablement causer la variable non initié?
Que retourne 'new_item'? – stardust
ITEM * new_item (const char * nom, const char * description); plus il renvoie NULL en cas d'erreur. – Josef
Quelle ligne dans le code ci-dessus est la ligne 122? –