Здравствуйте, LightGreen, Вы писали:
LG>Пример упрощённый, взятый из реального проекта.
LG>LG>class A
LG>{
LG> int a;
LG> bool state;
LG> void set(int& x) const
LG> {
LG> x = 1;
LG> }
LG> void modify( A& a ) const
LG> {
LG> a.x++;
LG> }
LG> void hack()
LG> {
LG> set(a);
LG> modify(*this);
LG> }
LG>};
LG>
LG>Код без проблем компилируется и выполняется (VC++ 8.0).
LG>Интересно, что это — недоработка компилятора или приоритет non-const int& и A&
LG>над const-модификатором метода?
Я не понял, кто здесь x? У меня дает error C2039: 'x' : is not a member of 'A' (VS 2008).