一个单链表结构:
typedef struct
{
CDIB Image;
UINT ID;
CString Description;
PVOID next;
}IMAGE,FAR pIMAGE;IMAGE *CurrentImage;
CurrentImage->next=(LPVOID)(new IMAGE());//编译错误,error C2440: “=” : 无法从“LPVOID”转换为“IMAGE *”

解决方案 »

  1.   

    你的CODE 可能与原本不一样。TRY
    CurrentImage->next=new IMAGE();//PS: 
    IMAGE *CurrentImage = new IMAGE() ;
    ...
      

  2.   

    一个单链表结构:
    typedef struct
    {
    CDIB Image;
    UINT ID;
    CString Description;
    PVOID next;
    }IMAGE,FAR pIMAGE;IMAGE *CurrentImage = new IMAGE;
    CurrentImage->next=(void *)(new IMAGE);
      

  3.   

    CurrentImage->next=new IMAGE();//
      

  4.   

    一个单链表结构:
    typedef struct IMAGE;
    struct
    {
    CDIB Image;
    UINT ID;
    CString Description;
    IMAGE* next;
    };IMAGE *CurrentImage = new IMAGE;
    CurrentImage->next=new IMAGE;
      

  5.   

    typedef struct __IMAGE IMAGE;struct __IMAGE
    {
    };
      

  6.   

    SORRY :
    IMAGE *CurrentImage = new IMAGE;这一句原本有的.
    还是不行,高手救急!!!!
      

  7.   

    你把代码改成这样,看行吗?typedef struct  IMAGE
    {
    CDIB Image;
    UINT ID;
    CString Description;
    PVOID next;
    }
    IMAGE  CurrentImage;
    CurrentImage.next=new IMAGE;
      

  8.   

    好,解决了,多谢各位,尤其是 isdong(程序测试中,请稍候索取正式版……) ( ) 现整理一下:
    一个单链表结构:
    typedef struct __IMAGE IMAGE;
    struct__IMAGE 
    {
    CDIB Image;
    UINT ID;
    CString Description;
    IMAGE* next;
    };IMAGE *CurrentImage = new IMAGE;
    CurrentImage->next=new IMAGE;但还是想请教一下为何一个数据结构指针不能转为LPVOID呢?
      

  9.   

    可以,只是不知道你相关代码,不好说明而已,一般你可以直接使用void *