虚拟模板?

sox*_*red 1 c++ templates

我试图声明一个抽象类,但只是模板化虚函数的行为让编译器抱怨。这通常是如何实现的?例如,在我的头文件中,我有:

virtual SpecialList<Point> *getPoints() const;
Run Code Online (Sandbox Code Playgroud)

编译器声明“ISO C++ 禁止声明没有类型的‘SpecialList’”。

编辑 Point 和 SpecialList 都包含在这个类的定义中。作为一个更详细的例子,

// SomeClass.h
#include "SpecialList.h"
#include "Point.h"

class SomeClass
{
public:
    SomeClass();
    virtual SpecialList<Point> *getPoints() const;
//snip
};
Run Code Online (Sandbox Code Playgroud)

还是没解决。。

ybu*_*ill 5

struct A
{
    virtual vector<int>* f() const = 0;
};
Run Code Online (Sandbox Code Playgroud)

对我来说很好用。确保在使用它们之前定义了 'SpecialList' 和 'Point'。