Re: VC и GCC: разное поведение, а как д.б. по стандарту?
От: uzhas Ниоткуда  
Дата: 27.03.12 11:37
Оценка:
Здравствуйте, stil.man, Вы писали:

SM>Я не хочу вдаваться в такие вещи как "two-phase name lookup" или ADL, потому что все таки это особенности реализации компиляторов, и в стандарте о них нет ни слова.

ADL вполне себе стандартизованная вещь, хотя не имеет отношения к данной проблеме

SM>Я хочу понять, какое поведение как правильное определяется стандартом ?

не могу сказать точно, но интуитивном уровне подоpреваю баг у гцц.
гцц славится своей способностью "компилировать" шаблоны (то есть как-то их препроцессить еще до фазы инстанциирования). на этой фазе базовый класс неизвестен и гцц неверно подставляет вызов функии foo

SM>И как с этим вообще жить ? Почему так ?

более явно можно прописывать, что за функцию мы вызываем
::foo(); // вызываем глобальную функцию
this->foo(); // вызываем свою


успехов
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.