我想知道,是否可以将Win32程序的入口点-WinMain-用作类方法?
例如;

class cApp {
public:
    cApp();
   ~cApp();

    cGuiManager* guiManager;
   cServerManager* serverManager;
    cAudioManager* audioManager;

    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hInst, LPSTR lpCmdLine, int nCmdShow);
    static LRESULT CALLBACK WndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam);
};

谢谢!

最佳答案

否。WinMain 不能作为程序的“入口”点成为类的成员。因此,WinMain 不能在任何 namespace (全局 namespace 除外)中。例如,即使如下所示的user::WinMain也不能作为程序的“入口”点。

namespace user
{
     int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int );
}

程序的入口点必须是在全局 namespace 中定义的

但是,您可以在类(或其他命名空间)中使用具有此名称的函数,可以从全局命名空间中定义的实际入口点WinMain调用该函数。但是cApp::WinMain(或user::WinMain)绝不是程序的“入口”点。

关于c++ - 将WinMain入口点嵌入到类中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5841516/

10-11 16:46