Visual c++ 为什么';t_u_declspec(novtable)在模板专门化上工作?

Visual c++ 为什么';t_u_declspec(novtable)在模板专门化上工作?,visual-c++,vtable,Visual C++,Vtable,我有一个通用可调用的基类,我正在标记它\uu declspec(novtable): 模板结构可调用; 模板 结构declspec(novtable)可调用 {virtual R operator()(T..)volatile{return R();}}; 但不知何故,这并不像: intmain() { auto temp=新的可调用(); temp->operator(); } 为什么 NOVTET> /COD>不工作?< /P> < P>显然VisualC++在模板上查看br/> 这对我

我有一个通用可调用的基类,我正在标记它
\uu declspec(novtable)

模板结构可调用;
模板
结构declspec(novtable)可调用
{virtual R operator()(T..)volatile{return R();}};
但不知何故,这并不像:

intmain()
{
auto temp=新的可调用();
temp->operator();
}

为什么<代码> NOVTET> /COD>不工作?< /P> < P>显然VisualC++在模板上查看<代码>br/> 这对我来说没有意义(这是一个bug吗?),但“解决方案”是这样写的:

template<class F> struct __declspec(novtable) callable;
template struct\uuu declspec(novtable)可调用;
int main()
{
        auto temp = new callable<void()>();
        temp->operator()();
}
template<class F> struct __declspec(novtable) callable;