想用long型变量存储CWnd* 指针,long型变量和CWnd* 指针之间强制转换会不会出错??
多谢了!!

解决方案 »

  1.   

    指针就是一个long型值,会有什么错
      

  2.   

    reinterpret_cast是强制转换,即将被转换的对象看作一个数字(小于等于4字节),不论其是否指针,即可如下:
    CC *pC = reinterpret_cast< CC* >( 1.0f );
    不会象static_cast那样检测类型,判断两边是否属于同一个继承层次,并进行相应的指针偏移(如上就必须偏移8字节)。
      

  3.   

    不会~知道你的long的确是个可以访问地址!你再访问都没问题
      

  4.   

    long lWnd;
    CWnd * pWnd;
    上面两个变量。
    pWnd = (CWnd *) lWnd;
    lWnd = (long) pWnd;
    这样可以吗?编译器只是警告。
      

  5.   

    reinterpret_cast强制类型在指针之间转换