Prakash Prabhu wrote: > void *f(void *arg) > { > std::map<int, string, std::less<int> >* kk = (std::map<int, string, > std::less<int> >*)(kk); > delete kk; > } It looks like you're trying to delete an uninitialized pointer. I think you want (arg) not (kk) on the RHS above. Brian