我想实例化一个模板化的抽象类,如下所示:
template <class T>
class non_sense {
public:
void virtual nonsesnse_func() = 0;
};
为了制作这个类的整数实例,我尝试了以下方法:
void non_sense<int>::nonsesnse_func(){
}
然后我在 main 中创建我的实例:
non_sense<int> xx;
所以整个程序如下:
template <class T>
class non_sense {
public:
void virtual nonsesnse_func() = 0;
};
void non_sense<int>::nonsesnse_func(){
}
void main(){
non_sense<int> xx;
}
这对我来说完全有意义,但编译器不接受它,说这个类是抽象的。我不想采取使用特定模板创建从此类继承的新类的路线,因为我试图制作的大型应用程序将是大量写作。有人可以向我解释为什么编译器会拒绝这个,除了为我想要的特定实例创建一个新类之外,还有什么方法可以解决这个问题。