我试图实现一个trie数据结构,以便在数据库查询同步应用程序中包含自动完成功能。我在这里收到的错误是我不明白的。有谁知道问题是什么?
#include <map>
#include <vector>
#include <string>
#include <sstream>
#include <set>
using namespace std;
class Trie {
public:
map<char, Trie> children;
string value;
bool flag;
Trie(const string &);
void add(char);
string find(const string &);
void insert(const string &);
vector<string> all_prefixes();
vector<string> autocomplete(const string &);
};
Trie::Trie(const string &val="") {
value = val;
flag = false;
}
错误:
In file included from FILEIO.cpp:7:
./trie.h:23:26: error: addition of default argument on redeclaration makes this constructor a default constructor
Trie::Trie(const string &val="") {
^ ~~
./trie.h:15:9: note: previous declaration is here
Trie(const string &);
^
1 error generated.