我正在编写一个用C++实现后缀树的程序。我试图声明一个没有参数但需要传递指向自身指针的递归函数。
我这样定义它:
public:
string longestRepeat(Node*);
在头文件中,以及。
string Trie::longestRepeat(Node* start = &nodes[0]){
string deepest = "";
for(unsigned int i = 0; i < start->getEdges(); i++){
string child_deepest = longestRepeat(start->getChild(i));
if(child_deepest.length() > deepest.length())
deepest = child_deepest;
}
return deepest;
}
在 .cpp 文件中,node 是一个先前声明的数据结构。
然而,在主函数中简单调用
trie.longestRepeat()
会导致错误“没有匹配的函数调用 Trie::longestRepeat()
。候选项期望 1 个参数,但提供了 0 个”。
longestRepeat()
过于雄心壮志;因为某种原因它不能在主函数中进行选择。 - Luke Collins