Можно ли показать мне пример ADL без использования шаблонов? Никогда не видел ничего подобного. Я имею в виду что-то вроде здесь. В частности, меня интересует пример, в котором это приводит к какой-то ловушке, как в упомянутом выше.
ИЗМЕНИТЬ:
Я думаю, что ответ Томалака можно расширить до ловушки. Учти это:
namespace dupa {
class A {
};
class B : public A {
public:
int c;
B() {
}
};
void f(B b) {
printf("f from dupa called\n");
}
}
void f(dupa::A) {
printf("f from unnamed namespace called\n");
}
int main()
{
dupa::B b;
f(b);
return 0;
}
Здесь мы ожидаем, что будет вызван f из безымянного пространства имен, но вместо этого будет вызван другой.
lol
- этоint
. см. это. - person Luc Danton   schedule 14.07.2011dupa
- это польский эквивалент английскогоfoo
- кого это может обидеть, если почти все его используют? ;-) - person Pawel Zubrycki   schedule 04.04.2012