我正在使用抽象类SetOfInt
; Btree基类继承自的地方。虚函数find的声明给我一个编译器错误,我无法弄清楚为什么?
这是确切的错误:
SetOfInt.h:21:错误:
'virtual'
之前预期的非合格身份号 SetOfInt.h:21:error:抽象声明符'Node*'
用作声明
SetOfInt.h:21:错误:在';'
之前预期'virtual'
SetOfInt.h:30:错误:'virtual'
之前的预期unqualified-id
SetOfInt.h:30:错误:抽象声明符'Node*'
用作声明
SetOfInt.h:30:错误:在';'
之前预期'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 */ };
答案 0 :(得分:4)
返回类型应该在virtual
关键字之后。
即
virtual void add(int x);
而不是
void virtual add(int x);