对象数组参数 - 错误:字段'letters'具有不完整的类型

时间:2015-11-22 00:25:14

标签: c++ compiler-errors trie

 struct Trie {
    Trie letters [27];
    bool hasLetter;
    bool EOW;
    ...
}

错误:字段'letters'的类型不完整

我收到了这个错误,并没有弄清楚什么是错的。我正在尝试使用数组创建一个Trie,我正在使用g ++编译器。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

如果编译器不是指针,则编译器不会接受包含自身实例的结构。您获得的错误是因为声明是递归使用自身的。 (Trie包含一个Trie数组,其中每个元素都包含一个Trie数组,每个元素还包含一个Trie数组等等)

如果你真的想要包含自身实例的结构,请将字母改为指向Trie的指针数组。

struct Trie {
    Trie* letters [27]; // array of pointers to other Trie structs
    bool hasLetter;
    bool EOW;
    ... 
}