这段代码本来应做成函数的,但编译器这样报错
C:\Program Files\Microsoft Visual Studio\MyProjects\EX_Calculator02\EX_Calculator02Dlg.cpp(434) : error C2597: illegal reference to data member 'CEX_Calculator02Dlg::m_Edit' in a static member function
C:\Program Files\Microsoft Visual Studio\MyProjects\EX_Calculator02\EX_Calculator02Dlg.cpp(435) : error C2065: 'UpdateData' : undeclared identifier
无奈求助,高人答曰:宏定义
但这样感觉挺不规范的,怎么办
宏定义如下:
#define INPUTNUMBER(num)\
if (decimal)\
{\
input_dec+=(num/count);\
count*=10;\
}\
else input_int= input_int*10+num;\
value=input_int+input_dec;\
gcvt(value,10,buffer);\
CEX_Calculator02Dlg::m_Edit=(LPCTSTR)buffer;\
UpdateData(false);
C:\Program Files\Microsoft Visual Studio\MyProjects\EX_Calculator02\EX_Calculator02Dlg.cpp(434) : error C2597: illegal reference to data member 'CEX_Calculator02Dlg::m_Edit' in a static member function
C:\Program Files\Microsoft Visual Studio\MyProjects\EX_Calculator02\EX_Calculator02Dlg.cpp(435) : error C2065: 'UpdateData' : undeclared identifier
无奈求助,高人答曰:宏定义
但这样感觉挺不规范的,怎么办
宏定义如下:
#define INPUTNUMBER(num)\
if (decimal)\
{\
input_dec+=(num/count);\
count*=10;\
}\
else input_int= input_int*10+num;\
value=input_int+input_dec;\
gcvt(value,10,buffer);\
CEX_Calculator02Dlg::m_Edit=(LPCTSTR)buffer;\
UpdateData(false);
static void fun(void *pParam, xxxxx)
{
CEX_Calculator02Dlg *pThis = (CEX_Calculator02Dlg *)pParam;
pThis->m_Edit = ;
pThis->UpdateData(false);
}在调用时 fun(this, xxxxxx) //传入类指针