我的c头文件在Xcode中有以下错误消息
O(n log n)
但是当我在命令行中使用Redefinition of 'entry'
编译它时,它完美地工作。你们中的任何人都可以解释原因吗?
这是gcc
:
snapshot.h
这是snapshot.c:
#ifndef SNAPSHOT_H
#define SNAPSHOT_H
#define MAX_KEY_LENGTH 16
#define MAX_LINE_LENGTH 1024
typedef struct value value;
typedef struct entry entry;
typedef struct snapshot snapshot;
struct value {
value* prev;
value* next;
int value;
};
// the line below is where the redefinition error appears
struct entry {
entry* prev;
entry* next;
value* values;
char key[MAX_KEY_LENGTH];
};
struct snapshot {
snapshot* prev;
snapshot* next;
entry* entries;
int id;
};
#endif