typedef struct _STRING {
USHORT Length;
USHORT MaximumLength;
#ifdef MIDL_PASS
[size_is(MaximumLength), length_is(Length)]
#endif
PCHAR Buffer;
} STRING, *PSTRING;
Error 2 error C2371: PSTRING: redefinition; different basic types
Error 2 error C2371: STRING: redefinition; different basic types
答案 0 :(得分:0)
代码中的某个位置(可能位于包含的标头中)USHORT
,PCHAR
,STRING
和PSTRING
已被定义为类型名称。
因此,编译器在第二次定义STRING
和PSTRING
时会报告错误。
编译器说"不同的基本类型"如果你将它定义为与第一个定义完全相同的东西,第二次定义类型名称不是错误。
要删除这些错误,您可以1)使用不同的类型名称,以免发生冲突或2)删除已在代码之外定义这些名称的标题。