error C2011: “Picture”:“struct”类型重定义

今天引用外来库时出现问题,也许是版本问题。

错误如下:

.....\oursun\cincludes\quickdraw.h(309): error C2011: “Picture”:“struct”类型重定义

1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\comdef.h(326) : 参见“Picture”的声明

其中Picture声明如下:

__if_not_exists(Picture)
{
  struct Picture : IPictureDisp {};
}

struct定义如下:

struct Picture {
    short                           picSize;
    Rect                            picFrame;
};
typedef struct Picture                  Picture;

typedef Picture *                       PicPtr;
typedef PicPtr *                        PicHandle;

  应该是程序版本不一致的问题,暂且不深究什么原因。

  解决方法如下:

  既然说是重定义,那就另改一个别名了。

struct Picture1 {
    short                           picSize;
    Rect                            picFrame;
};
typedef struct Picture1                  Picture1;

typedef Picture1 *                       PicPtr;
typedef PicPtr *                        PicHandle;

  ok,问题解决。回家吃饭。

你可能感兴趣的:(struct)