在C++中,函数模板特化应该与正常函数完全相同.这是否意味着我可以制作一个虚拟的?
例如:
struct A
{
template <class T> void f();
template <> virtual void f<int>() {}
};
struct B : A
{
template <class T> void f();
template <> virtual void f<int>() {}
};
int main(int argc, char* argv[])
{
B b;
A& a = b;
a.f<int>();
}
Run Code Online (Sandbox Code Playgroud)
Visual Studio 2005给出了以下错误:
致命错误C1001:编译器中发生内部错误.