编译器错误 C3207

“function”:“arg”的模板参数无效,应当是类模板

将函数模板定义为采用模板模板参数。 但是,传递的是模板类型参数。

以下示例生成 C3207:

// C3207.cpp
template <template <class T> class TT>
void f(){}

template <class T>
struct S
{
};

void f1()
{
   f<S<int> >();   // C3207
   // try the following line instead
   // f<S>();
}