我有一个 C++ 类,我在其中声明了两个具有(并且它们应该具有)相似名称的静态方法,但绝对不是相同的名称。所以我这样做了:
#include <cstdio>
struct Cat;
class Cat {
public:
int age;
Cat * mother;
Cat * father;
Cat(){};
~Cat(){};
static Cat* walk_to_min(Cat* c);
static Cat* walk_to(Cat* c, int distance);
};
但是当我尝试编译时,G++ 给了我这个:
cats.cpp:22: error: expected unqualified-id before ‘walk_to’
cats.cpp:22: error: expected ‘;’ before ‘walk_to’
但是,如果我改变 - 例如 -它walk_to
会gogo
起作用。所以我想这与这些方法的命名有关。
这是怎么回事?为什么不能像我想要的那样命名方法。想象一个 BST,你有 BST_delete 和 BST_delete_min,有时你希望有类似名称的方法。我能做些什么?
更新。对不起大家,我没有显示真实的代码。这是真正的代码:
#include <cstdio>
class BST {
public:
int key;
BST* leftChild;
BST* rightChild;
BST();
BST(int t) : key(t) {}
~BST(){};
void inOrder(BST* bstree);
void preOrder(BST* bstree);
void postOrder(BST* bstree);
static BST* delete_min(BST* root);
static BST* delete(BST* root, int value);
static BST* search(BST* element, int value);
};
顺便说一句,我的方法 delete_in 和 delete 的定义都是空的:
BST* BST::delete_min(BST* root)
{
}
BST* BST::delete(BST* root, int value)
{
}
和错误:
L2Q1-dunder-mifflin-cpp.cpp:21: error: expected unqualified-id before ‘delete’
L2Q1-dunder-mifflin-cpp.cpp:21: error: expected ‘;’ before ‘delete’
谢谢