Поделиться через


14.6.2 Зависимые имена

Компилятор Visual C++ в настоящее время не поддерживает привязки nondependent имена, когда исходная анализ шаблона.Это может привести к тому, что перегруженные версии, объявленными, что после шаблона (но до того, как был создан шаблон) видны.

// DependentNames.cpp
#include <stdio.h>
namespace N {
   void f(int) { printf("f(int)\n");}
}

template <class T> void g(T) {
   N::f('a');   // calls f(char) should call f(int)
}

namespace N {
   void f(char) { printf_s("f(char)\n");}
}

int main() {
   g('c');
}

w98s4hs8.collapse_all(ru-ru,VS.110).gifOutput

f(char)

См. также

Другие ресурсы

Нештатная функциональности