Re[5]: ADL. Кто неправ я, компилятор или реализация STL
От: Greg Zubankov СССР  
Дата: 21.10.06 14:41
Оценка: 14 (3)
Здравствуйте, night beast, Вы писали:

NB>это я к тому что begin() + _Newsize вызавается в пространстве std, и по идее до ADL дело не должно было дойти.

NB>или я не прав?
ADL проводится вне зависимости от кого, в какой область видимости (scope) компилятору встретилось неквалифицированное имя.


PS. Однако есть способ отключения ADL, для этого достаточно заключить имя вызываемой функции в скобки:
namespace foo
{
  struct A {};
  void bar(A) {}
}

int main()
{
  foo::A b;
  bar(b);    // ok: calls foo::bar
  (bar)(b);  // error
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.