Re: [Boost-users] Boost.Unordered throws 64-bit portability warnings
________________________________________
De: boost-users-bounces@lists.boost.org [boost-users-bounces@lists.boost.org] En nombre de Daniel James [daniel_james@fmail.co.uk]
Enviado el: jueves, 21 de mayo de 2009 21:36
Para: boost-users@lists.boost.org
Asunto: Re: [Boost-users] Boost.Unordered throws 64-bit portability warnings
2009/5/21 Dominique Devienne
FWIW, I'm getting these as well when using boost::hash_combine(hash_value(this->member_)); to implement hashes for my classes. We also use VS2005 with the compiler switch that raises these warnings. My work around below is not pretty... --DD
#if ACME_SIZEOF_SIZE_T == 4 // Avoid warning C4267: 'argument' : // conversion from 'size_t' to 'unsigned int', possible loss of data boost::hash_combine( seed, static_cast<unsigned int>(hash_value(member_)) ); #else boost::hash_combine(seed, hash_value(member_)); #endif
Doesn't 'boost::hash_combine(seed, member_)' work?
I'll have a look at the warning when I get the chance, but AFAICT they're wrong since when compiling for 64-bit a different overload or template resolution would be chosen.
Is this maybe related to http://lists.boost.org/boost-users/2007/03/26388.php ? Joaquín M López Muñoz Telefónica, Investigación y Desarrollo
participants (1)
-
JOAQUIN M. LOPEZ MUÑOZ