小编ale*_*xk7的帖子

制作功能模板专业化虚拟法律?

在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:编译器中发生内部错误.

c++ virtual templates specialization c1001

11
推荐指数
1
解决办法
5367
查看次数

标签 统计

c++ ×1

c1001 ×1

specialization ×1

templates ×1

virtual ×1