Цитата(voipp @ 12.2.2010, 13:02)
спасибо за помощь.А не растолкуете теперь - почему это так?
а чего тут толковать? операторы по определению имеют ограничения на операнды:
Цитата(Bjarne Stroustrup)
11.2.2 Predefined Meanings for Operators [over.predefined]
Only a few assumptions are made about the meaning of a user-defined operator. In particular,
operator=, operator[], operator(), and operator-> must be nonstatic member functions; this
ensures that their first operands will be lvalues (§4.9.6).
и оператор присвоения имеет тип ссылки на константный объект. кстати, неясно, чем не угодило обращение по ссылке вместо формального параметра? если будет просто тип class X - то он будет копироваться и передаваться через стек. а нафиг это нужно, если всё равно операнд константный?