在trie构造函数中编译错误

时间:2016-04-27 19:53:47

标签: c++ oop compiler-errors trie

我试图实现一个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.

0 个答案:

没有答案