C++에서 접미어 trie를 구현하는 프로그램을 작성하고 있습니다. 매개 변수없이 재귀 함수를 선언하려고하지만 자체에 대한 포인터를 전달해야합니다.포인터가있는 C++ 기본 인수
I는 노드가 이미 선언 된 데이터 구조 .cpp 파일에 따라서
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;
}
public:
string longestRepeat(Node*);
헤더 파일
및
그것을 형성하고있다.주 함수에서 단순히 trie.longestRepeat()
을 호출하면 "Trie::longestRepeat()
과 일치하는 함수가 없습니다. 후보는 1 개의 인수를 제공하고 0은 제공됩니다"라는 오류가 발생합니다.
감사합니다. 하지만 이제는'longestRepeat()'가 야심적이라고 주장하는 오류 메시지가 나타납니다. 웬일인지 그것은 주된 기능에서 2를 선택할 수 없다. –
@ 루케 콜린 첫 번째 또는 두 번째 발췌 문장을 시도 하시겠습니까? – Holt
밑줄을 깜박했습니다! –