奇观的问题,在线等,高手请进来一观
/////////////////////////
//TheApp.h
class CMyApp:public CWinApp
{
.....
CEvent TheEvent;
static UINT ThreadFunction (LPVOID);
.....
}
///////////////////////////
//TheApp.cpp
UINT CMyApp::ThreadFunction(LPVOID pParam)
{
WaitForSingleObject(theEvent.m_hObject,INFINIT);
theEvent. //*************
}
编译出错,提示.m_hObject左边的应该是一个类或结构
注意打星星的行,我输入“.”以后,应该显示theEvent的成员,但是没有,如果我把ThreadFunction定义的static去掉,就有了,编译也能通过
我的意思是用一个类成员函数作为线程函数,因此这个函数必须说明为static,然而编译就通不过,另一种方法是将ThreadFunction说明为全局函数,但是我觉得这样有点不符合OO精神,难道前一种安排就没办法实现么?