Re[3]: Function overloading
От: srggal Украина  
Дата: 19.12.05 14:12
Оценка:
Здравствуйте, 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>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.