c++ - bug?: Error: reference must refer to same type or be const
inline ss_sint8_t &transfer_resource(ss_sint8_t &r, ss_sint8_t v)
{ return (r = v); }
inline ss_uint8_t &transfer_resource(ss_uint8_t &r, ss_uint8_t v)
{ return (r = v); }
inline ss_sint16_t &transfer_resource(ss_sint16_t &r, ss_sint16_t v)
{ return (r = v); }
inline ss_uint16_t &transfer_resource(ss_uint16_t &r, ss_uint16_t v)
{ return (r = v); }
inline ss_sint32_t &transfer_resource(ss_sint32_t &r, ss_sint32_t v)
{ return (r = v); }
Changing it to
{ return ((r = v), r); }
fixes it, but it still seems like a bug to me.
Other compilers don't have a problem with the original form
Feb 22 2005
Any movement on this? "Matthew" <admin.hat stlsoft.dot.org> wrote in message news:cvfag8$2vl2$1 digitaldaemon.com...inline ss_sint8_t &transfer_resource(ss_sint8_t &r, ss_sint8_t v){ return (r = v); }inline ss_uint8_t &transfer_resource(ss_uint8_t &r, ss_uint8_t v){ return (r = v); }inline ss_sint16_t &transfer_resource(ss_sint16_t &r, ss_sint16_t v){ return (r = v); }inline ss_uint16_t &transfer_resource(ss_uint16_t &r, ss_uint16_t v){ return (r = v); }inline ss_sint32_t &transfer_resource(ss_sint32_t &r, ss_sint32_t v){ return (r = v); }Changing it to { return ((r = v), r); } fixes it, but it still seems like a bug to me. Other compilers don't have a problem with the original form
Sep 11 2005








"Matthew" <matthew hat.stlsoft.dot.org>