作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用抽象类SetOfInt
; Btree 基类继承自的地方。虚函数 find 的声明给我一个编译器错误,我不知道为什么?
这是确切的错误:
SetOfInt.h:21: error: expected unqualified-id before
'virtual'
SetOfInt.h:21: error: abstract declarator'Node*'
used as declaration
SetOfInt.h:21: error: expected';'
before'virtual'
SetOfInt.h:30: error: expected unqualified-id before'virtual'
SetOfInt.h:30: error: abstract declarator'Node*'
used as declaration
SetOfInt.h:30: error: expected';'
before'virtual'
非常感谢任何帮助!
/* 1 */ #include <cstdlib>
/* 2 */ #include <iostream>
/* 3 */
/* 4 */ using namespace std;
/* 5 */
/* 6 */ class Node
/* 7 */ {
/* 8 */ public:
/* 9 */ Node (int x);
/* 10 */ int m_data;
/* 11 */ Node *m_left;
/* 12 */ Node *m_right;
/* 13 */ };
/* 14 */
/* 15 */ class SetOfInt
/* 16 */ {
/* 17 */ public:
/* 18 */ void virtual add(int x)=0;
/* 19 */ bool virtual test(int x)=0;
/* 20 */ bool virtual remove(int x)=0;
/* 21 */ Node* virtual find(int x)=0;
/* 22 */ };
/* 23 */
/* 24 */ class Btree : public SetOfInt
/* 25 */ {
/* 26 */ public:
/* 27 */ void virtual add(int x);
/* 28 */ bool virtual test(int x);
/* 29 */ bool virtual remove(int x);
/* 30 */ Node* virtual find(int x);
/* 31 */ Node *m_root;
/* 32 */ };
最佳答案
返回类型应该在 virtual
关键字之后。
即
virtual void add(int x);
代替
void virtual add(int x);
关于c++ - 抽象声明符 Node* 用作声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6499056/
我是一名优秀的程序员,十分优秀!