int kk;
int uu=86;kk = &uu;如上: 
VS2003会提示: 不能将_W64转为int32请问,如何才能使地址默认为32位

解决方案 »

  1.   

    不是64机器,我是32位的win2003, VS2003 是指 visual studio 2003
      

  2.   

    我知道 VS2003 是 visual studio 2003   我现在回家看看~
      

  3.   

    我被你蒙了,应该 
    int* kk;
    int uu=86;kk = &uu; 
     吧??
      

  4.   

    那就是说: &UU 是64位数值,为什么是这个样子比如: 
    int* kk[50];
    int  uu[2000];kk[0] = &uu[0];这样也通不过哇
      

  5.   

    int kk;
    int uu=86;kk = &uu;呢,就不行了哇
    是不是 &uu  是64位的哇
      

  6.   

    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    int _tmain(int argc, _TCHAR* argv[])
    {
    int* b[9];
    int a[655];
     b[0]=&a[0];
    cout<<b<<endl;
    cout<<&a<<endl;
    cout<<*b<<endl;
    return 0;
    }
      

  7.   

    你不要哇行不行~
    指针是32位的,你用sizeof() 就不可以看出来吗
      

  8.   

    我是指WIN32程序,不是C++,你试一下呢,我也是百思不得其解.int kk;
    int uu=86;kk = &uu;如果是&uu是32位,那么 kk也是32位,为什么kk=&uu就不行了呢就是改KK为DWORD32也不行
      

  9.   

    我可能用多了MASM32,与C#,发现MASM32操作结构的结构太难,C#太慢,C++也比C慢,只有用C才能,但一用C就碰到这个问题.
      

  10.   

    我试了一下 VC6下C 
    int kk;
    int uu=86;
    kk = &uu;  
     这样可以
     VC6下C++ 这样不可以
     在.NET 下,C++ 不可以
     在.NET 下,C 没有试了,我有VS2003的电脑已经关了  你就用VC6的 C吧,   你就用int* KK 这样不行吗,本来这样才符合指针的用法嘛,  这和编译器关,主要是VS2003 在想标准C++ 靠拢~  他为什么提示是64 什么错误来的,这也许是2003 过度到 2005 的一个问题