数据声明中不允许使用虚拟
当尝试声明抽象类时,我似乎无法拥有模板化函数。为什么会这样,我该如何处理?这是我的示例头文件。
// 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我看起来它不识别 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.