_beginthreadex(NULL, 0,  DisposeSoftData, &nMachineID, 0, NULL);unsigned __stdcall  DisposeSoftData( void* pArguments )
{
int *nMachineID = (int*)pArguments;
}怎么得到的nMachineID 是错误的呢?

解决方案 »

  1.   

    *nMachineID --- 才是内容
      

  2.   

    int nMachineID = *((int *)pArguments); 
      

  3.   

    _beginthreadex(NULL, 0,  DisposeSoftData, &nMachineID, 0, NULL); 
    nMachineID 是不是有效的,在线程访问的时候,要保证没有释放
      

  4.   

    pArguments 0x087bf440 void *
    - &nMachineID 0x089bff5c int *
    2090001652 int怎么回事呢?上面两个应该相同啊。
      

  5.   

    你线程输入的nMachineID 变量是怎么生成的,用全局的或new到堆上
      

  6.   

    局部数据成员。那不是要在堆上new 一个啊。
      

  7.   

    在堆上new 一个就可以啦。3q