我已将问题缩减到这个最小的测试用例:
#include <stdio.h>
#include <stdint.h>
typedef uint64_t hash_t;
struct hash_node {
hash_t hash;
int offset;
int score;
};
struct hash_leaf {
struct hash_leaf *next;
int entries;
struct hash_hode node[64];
};
int main(void)
{
return 0;
}
我总是收到以下错误:
$ gcc foo.c
foo.c:12:18: error: array type has incomplete element type
struct hash_hode node[64];
^
我使用了gcc 4.8.1,4.8.3和4.9.0,所有这些都产生了相同的结果。这是错误还是编码错误?下面的一条评论发布了用于C ++编译器的代码,但这与gcc
一起使用,而不是g++
。
答案 0 :(得分:1)
hash_hode与hash_node不一样。
你有一个错字...一个H而不是N代表NODE