警告:空声明中无用的类型名称

时间:2012-06-19 00:14:19

标签: c gcc warnings typedef extern

我有一个项目,项目中的两个文件名为query-structures.h query-structures.cquery-structures.h中的内容为

#include <stdint.h>
typedef struct user_identifier user_identifier;
extern user_identifier;

并在query-structures.c

#include "query-structures.h"
struct user_identifier
{
    uint64_t user_id;
};

现在编译器正在给我一个警告

warning: useless type name in empty declaration [enabled by default]

我无法理解为什么会出现此警告,因为我必须在项目的其他文件中使用此struct

1 个答案:

答案 0 :(得分:10)

此行异常,因为您声明了类型但没有变量名称

extern user_identifier;

例如,使用整数,你会写

extern int x;

  extern int;