错误C2371。 typedef结构

时间:2014-09-15 16:24:53

标签: c++ string

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

1 个答案:

答案 0 :(得分:0)

代码中的某个位置(可能位于包含的标头中)USHORTPCHARSTRINGPSTRING已被定义为类型名称。

因此,编译器在第二次定义STRINGPSTRING时会报告错误。

编译器说"不同的基本类型"如果你将它定义为与第一个定义完全相同的东西,第二次定义类型名称不是错误。

要删除这些错误,您可以1)使用不同的类型名称,以免发生冲突或2)删除已在代码之外定义这些名称的标题。