Pup*_*ppy 5 c++ visual-studio-2010
例如,像
class A {
template<typename T> T DoStuff();
template<> virtual int DoStuff<int>() = 0;
};
Run Code Online (Sandbox Code Playgroud)
Visual Studio 2010说没有,但我觉得很简单,我只是搞砸了语法.成员函数模板的显式完全特化是否可以是虚拟的?
明确的专业化在一个类中是不合法的.即使你可以使它部分特化,你仍然会遇到"模板不能虚拟"的问题.
n3290,§14.5.2规定:
成员函数模板不应是虚拟的.
并给出了这个例子:
template <class T> struct AA {
template <class C> virtual void g(C); // error
virtual void f(); // OK
};
Run Code Online (Sandbox Code Playgroud)
在继续说明成员函数模板也不计入虚拟覆盖之前.
| 归档时间: |
|
| 查看次数: |
669 次 |
| 最近记录: |