Bonjour à toutes et tous,
Je me tourne vers vous car j'ai un problème que je n'arrive pas à résoudre...
Mon code ressemble à ceci :
Je ne vous mets pas tout car le problème n'apparait qu'à la fermeture de l'application, la compilation et l’exécution fonctionnent sans problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 class A { public: struct B { int i; int j; int k; }; struct C { /* des tas de choses */ vector<B> vecB; }; /* des tas de choses */ protected: map<string, C> mapC; };
Avec le débogueur j'ai trouvé que l'erreur était dans c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\ext\new_allocator.h:110,
De plus, le débogueur m'indique que cela se produit sur un objet de type struct B.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); } // __p is not permitted to be a null pointer. void deallocate(pointer __p, size_type) { ::operator delete(__p); } //ligne 110
Il me semble donc comprendre qu'il y a problème de destruction soit avec map<string, C> soit avec vector<B>Si vous avez une idée ou une piste, je suis preneur, d'avance merci.
Partager