MFC程序函数前加__双冒号的含义

⌚Time: 2023-02-01 13:36:19

👨‍💻Author: Jack Ge

在MFC中封装了一些与WIN32 API同名的成员函数,当你不加双冒号时调用的是与win32api同名的类成员函数,如果你想调用的是同名的WIN32API时,就必须加双冒号,这样做是为了将对WIN32 API的调用与对MFC成员函数的调用区别开来。

比如对于messagebox()函数,不加::表示窗体类成员函数,加::表示win32api,参数和返回值都不同

mfc中


int MessageBox(

    LPCTSTR lpszText,

    LPCTSTR lpszCaption = _T(""),

    UINT nType = MB_OK);

在win32api中的定义


int MessageBox(

  [in, optional] HWND    hWnd,

  [in, optional] LPCTSTR lpText,

  [in, optional] LPCTSTR lpCaption,

  [in]           UINT    uType

);