Здравствуйте, Bell, Вы писали:
B>Здравствуйте, Greg Zubankov, Вы писали:
GZ>>Дело в том, что объект s у тебя неконстантный и предпочтение отдается неконстантным функциям.
B>Тогда "предпочтение неконстантным функциям" должно было сработать и в первом варианте — ведь там тоже одна функция константная, а вторая — нет
+1
Мот 5копеек:
константность оператора приведения играет роль ТОЛЬКО в следующем, модифицированном коде:
// test1.cpp
struct S {
operator short* ();
operator char* () const;
};
void f (short*);
void f (char*);
void foo (const S& s)
{
f (s);
}
И все становится ОК
... << RSDN@Home 1.1.4 stable rev. 510>>