http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47417
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-01-25 12:43:56 UTC --- which version of Boost are you using? I don't know if it's fixed now but older releases (e.g. 1.42) did not support the current rvalue-reference model and unordered_map has no copy-constructor, only a move constructor: unordered_map(unordered_map&& other) With the latest rvalue-reference model that cannot bind to an lvalue. If you want to use GCC 4.6.0 and -std=c++0x then you need to use a version of Boost that can handle it.