我想请问一下在MFC中调用函数的问题,比如在MFC程序中可以调用类自己的成员函数,也可以调用Win API,请帮忙看看下面这个程序中::WaitForSingleObject调用的是什么函数,也就是说,在MFC中经常会看到::符号后面的函数,它调用的是API还是哪个类中的成员函数? if (pMyThread)
{
pMyThread->PostThreadMessage(WM_QUIT,0,0);
::WaitForSingleObject(pMyThread->m_hThread,INFINITE);
pMyThread = NULL;
}
KillTimer(IDC_TIMER1);

解决方案 »

  1.   

    ::WaitForSingleObject(pMyThread->m_hThread,INFINITE);就是调用API.
      

  2.   

    api函数中不存在类,mfc是封装api函授后形成的类。你应该看一些基础的书
      

  3.   

    ::符号后面的函数是API
    ::是全局引用的标志,后面不但可以跟函数名,也可以跟变量名:int x = 0;void test(int x)
    {
        x = 3;
        ASSERT (x > ::x);
    }
      

  4.   

    可是调用API可以直接写啊,比如GetModuleFileName,为什么有时候要写成::GetModuleFileName?
      

  5.   

    可是调用API可以直接写啊,比如GetModuleFileName,为什么有时候要写成::GetModuleFileName?__________________________
    mfc封装了很多API,并且使用的同样的函数名,比如SetTimer和CWnd::SetTimer。他们的区别就是前者是全局性的,而后者是类成员。