Qraizer

Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору RedLord На счёт второго примера. Не уверен, нужно заглянуть в стандарт, но ИМХО тут Comeau неправ. Второе пользовательское кастование даёт сразу нужный тип, а первое - нет, поэтому дальнейшее продвижение просто не рассматривается, и в результате остаётся всего один кандидат. Отличие от первого случая здесь в том, что оба пользовательских кастования объявлены в одной области видимости - классе B, поэтому перегрузки просто нет - кастование в short не рассматривается, ибо кастование в Dummy есть точное соответствие. В первом примере пользовательские кастования принадлежали разным областям видимости - одна в классе A, другая в B, поэтому рассматривалась именно перегрузка. Но ещё раз говорю, нужно свериться со стандартом. Сам подумай, а если у меня в классе перегружаются и operator short(), и operator int(), они разве обязательно будут конфликтовать? А ведь второй из первого всегда можно получить продвижением. | Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 13:28 22-02-2007 | Исправлено: Qraizer, 13:39 22-02-2007 |
|