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(zh-cn,VS.110).gifOutput

f(char)

请参见

其他资源

非标准行为