[odb-users] template ambiguity with gcc4.8

Boris Kolpackov boris at codesynthesis.com
Mon Sep 30 03:58:00 EDT 2013


Hi Paul,

Paul Harrison <Paul.Harrison at manchester.ac.uk> writes:

> The code that is doing the calling is
> 
> for(typename std::set<shared_ptr<C> >::iterator i = rem.begin(); i != rem.end(); ++i){
>      _database->erase<C>(*i);
> }

You only need to specify the object type explicitly if erasing by
object id. If you don't specify the type, then the second version
of erase() will never be considered and you will not get the
ambiguity:

_database->erase(*i)

Boris



More information about the odb-users mailing list