关于类的成员变量作为类的函数指针成员的参数的问题 本帖最后由 lint2008 于 2009-12-15 10:19:09 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 num是int型别;和指针嘛关系;而参数a至始至终没传递过; 参数A传递了,传的 select指针. 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} selectProcess()裡面的代碼有問題吧。 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} MFC菜单Menu与Ribbon切换,win7下窗口双标题。 .icon图片什么函数设置其背景色可透明色?//CImage类里是哪个函数? 請問VC++的windowform能否獨立運行呢!怎麼做呢? VC6下用Winpcap捕捉网卡数据的问题 多线程问题 请问,计算机的串口可以正常接波特率不标准的232信号吗? 卸载Vstudio ...Regular DLL(MFC规则DLL)、MFC...Extension DLL(MFC扩展DLL 区别 如何输出一句话,文字像图章上面的一样旋转排列? 怎样分行写代码? 请教如何重写月历控件 strstr查找包含\0字符串
参数A传递了,传的 select指针.
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
}
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
}