16,551
社区成员
发帖
与我相关
我的任务
分享
typedef void (*FUNC)(int *a, int num);
int p = 100;
class Object
{
public:
Object(){ numOfSelect = 1; select = &p;} //传个整数的地址给select
virtual ~Object(){}
public:
int *select;
int numOfSelect;
FUNC func;
public:
void CreateObject( FUNC processfunc ) { func = processfunc; }
void Process() { (*func)( select, numOfSelect );}
};
void selectProcess( int *a, int num )
{ //注意,单步至此,a与num为随机
num = *a ; //到这个位置才有值
int i = 0;
i++; //断点到这个位置,num为100, 正常,VS2008
}
typedef void (*FUNC)(int *a, int num);
class Object
{
public:
Object(){ numOfSelect = 1; select = 0;}
virtual ~Object(){}
public:
int *select;
int numOfSelect;
FUNC func;
public:
void CreateObject( FUNC processfunc ) { func = processfunc; }
void Process() { (*func)( select, numOfSelect );}
};
void selectProcess( int *a, int num )
{
num++;
int i = 0;
i++; //断点到这个位置,num为2, 正常,VS2008
}