Hi Paul,

According to the "spec" I have here (ISO C++ 1998 draft) std::map::erase(it) should return void (and same for std::set).

The version I have is dated October 2008. Here's a link:

http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2798.pdf

From here:

http://www.open-std.org/JTC1/SC22/WG21/

See page 838:

  iterator  erase(const_iterator position);
  size_type erase(const key_type& x);
  iterator  erase(const_iterator first, const_iterator last);

So yeah, it was probably added later.

Anyways, the result is that some (all? I'm not sure) versions of gcc don't support the version that return an iterator, and return void instead. VC++ does. Does this mark the first time VC++ is more up-to-date than gcc with regards to standards? :-)

J-S
--
______________________________________________________
Jean-Sebastien Guay    [email protected]
                               http://www.cm-labs.com/
                        http://whitestar02.webhop.org/
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to