Какая часть спецификации C++ ограничивает поиск, зависящий от аргумента, поиском шаблонов функций в наборе связанных пространств имен? Другими словами, почему последний вызов в main ниже не компилируется?
namespace ns {
struct foo {};
template<int i> void frob(foo const&) {}
void non_template(foo const&) {}
}
int main() {
ns::foo f;
non_template(f); // This is fine.
frob<0>(f); // This is not.
}
using namespace ns;илиns::квалификация проходит компиляцию. Это хороший вопрос. - person fbrereto   schedule 02.06.2010template<typename T> void bar(T) {}ADL работает нормально,bar(f)успешно. - person sbi   schedule 02.06.2010