Привет
Есть код:
typedef std::set<unsigned> UnsignedSet;
inline
UnsignedSet& operator<<(UnsignedSet &us, unsigned u)
{
us.insert(u);
return us;
}
void serializeUnsignedSet(const UnsignedSet &us);
//...
serializeUnsignedSet(UnsignedSet() << 2u << 10u); //!!!
Выдаёт при /Wall:
Non-standart extention used: 'argument': conversion from 'UnsignedSet' to 'UnsignedSet&'
A non-const reference may only be bound to an lvalue
Как я понимаю, ему не нравится то, что operator<< получает временный объект по ссылке?
Как это всё правильно переписать?