数据声明中不允许使用虚拟

发布于 2024-10-27 13:46:46 字数 301 浏览 0 评论 0原文

当尝试声明抽象类时,我似乎无法拥有模板化函数。为什么会这样,我该如何处理?这是我的示例头文件。

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

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

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

When trying to declare an abstract class, I don't seem to be able to have templated functions. Why is this, and how do I deal with it? Here is my example header file.

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

Other compiler error from the same line includes

syntax error: missing ';' before '<'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暮倦 2024-11-03 13:46:46

我看起来它不识别 Bar 作为一种类型。

检查两个头文件并确保:

1) 它已定义
2)包含守卫是正确的并且没有被隐藏。

I looks like it does not recognize Bar as a type.

Check your two header files and make sure:

1) That it is defined
2) The include guards are correct and it is not hidden.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文