void*是个指针,可以直接强转成int的。

解决方案 »

  1.   

    void* p;
    int i = (int)(*p);
      

  2.   

    这样不行呀
    出现如下错误:
    error C2100: illegal indirection
      

  3.   

    void* p = NULL;
            p = new char[10];
    int n = 0;
    n = (int)p;虽然p作为一个地址可以直接强转复制给n,但建议不要这么使用。
      

  4.   

    那不过仅仅取出地址值。
    实际上这种用法可能更有用:
    ... //得到一个char* p;指针
    要求获取上面取得值的一个DWORD值。
    可以这样:DWORD *pdw = (DWORD*)p;
    DWORD dw = *pdw;呵呵,学习。
      

  5.   

    void* p;
    int* ip = (int*)p;
    int i = *ip;
      

  6.   

    指针类型转为int类型当然会有错误,如果强转的话,则只能得到void*指针的地址。