Voilà ce que j'ai dans le call stack, le pointeur étant sur la première ligne.
1 2 3 4 5 6 7
| MSVCRTD! 10213b5f()
MSVCRTD! 10213931()
MSVCRTD! 102138be()
operator delete(void * 0x00d499b8) line 7 + 10 bytes
std::allocator<char>::deallocate(void * 0x00d499b8, unsigned int 0x00000021) line 64 + 16 bytes
std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy(unsigned char 0x01) line 592
std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >() line 59 + 17 bytes |
Dans la fonction en question, j'ai ce genre d'itérateurs:
map <Server, int>::iterator serverit;
avec Server la classe suivante :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class Server
{
public:
Server()
{
}
~Server()
{
}
public:
string node;
string servername;
bool operator<(const Server &S) const;
}; |
Je pense avoir un problème dans la désallocation des itérateurs. Qu'est ce qu'il faut que je rajoute dans le destructeur pour que ça marche?
Partager