14.6.2 Abhängige Namen
Der Visual C++-Compiler gegenwärtig nicht unterstützt das Binden von nondependent Namen, wenn er zuerst eine Vorlage analysiert.Dies kann dazu führen, dass Überladungen nach der Vorlage angezeigt werden soll (deklariert werden, bevor die Vorlage instanziiert wird).
// 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');
}
Output
f(char)