【发布时间】:2017-01-13 06:56:46
【问题描述】:
我正在编写一个在 C++ 中实现后缀 trie 的程序。我正在尝试声明一个没有参数的递归函数,但它需要传递一个指向自身的指针。
我是这样定义的
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 个”。
【问题讨论】:
标签: c++ pointers recursion default-value suffix-tree