
Robert Ramey wrote:
http://tinyurl.com/s4ohn Shows the error message which is provoked by the following test code:
// test array of objects BOOST_STD_EXTENSION_NAMESPACE::hash_set<A> ahash_set; ... std::vector<A> tvec, tvec1; std::copy(ahash_set.begin(), ahash_set.end(), std::back_inserter(tvec)); // error starts here std::sort(tvec.begin(), tvec.end());
a) I can't see anything wrong with this. b) No other compilers complain c) I can't follow the error message
So if anyone has some insight here, I'd be glad to hear it.
Are you absolutely sure that's the line? The compiler is claiming that it can't call the hashing function with an argument of type A (probably means there's no appropriate overload). The puzzling thing is that it wants to call the hasher because it's resizing the hashtable, and it's doing that in response to a call to hash_set::insert - allegedly directly from your code. I can't track the error beyond this. The standard library in my GCC 3.4.4 is quite different. Sebastian Redl