------- Comment #4 from lifelong830114 at gmail dot com  2009-09-28 09:31 
-------
(In reply to comment #3)
> In any case, the code is invalid, try building (and then running) with
> -D_GLIBCXX_DEBUG to see the problem. This way, for example, is fine:
>  for (; it != mymap.end() ; /* it++ */)  {
>    mymap.erase((*it++).first);
>  }

I think the origin code is wrong, after "erase(...)" the space pointed by "it"
has been free, so the operater "it++" is wrong, is it?
But this origin code is fine on linux, could you tell me why?


-- 

lifelong830114 at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|INVALID                     |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41480

Reply via email to