数据声明不允许虚拟

vap*_*apo 3 c++ templates

在尝试声明一个抽象类时,我似乎无法使用模板化函数.为什么会这样,我该如何处理呢?这是我的示例头文件.

// Foo.h
#include "Bar.h"
#include "Baz.h"
class Foo
{
public:
    Foo();
    virtual Bar<Baz> *getBaz() const = 0;
         //snip
};
Run Code Online (Sandbox Code Playgroud)

来自同一行的其他编译器错误包括

语法错误:缺少';' 在'<'之前

Mar*_*ork 11

我看起来并不认为Bar是一种类型.

检查两个头文件并确保:

1)它被定义
2)包含防护是正确的并且它不被隐藏.

  • 存在循环依赖。我真是个傻瓜。谢谢大家。 (2认同)