C ++:指向重载函数的指针

时间:2017-03-21 02:18:23

标签: c++

好的,所以我对某些代码有点麻烦。我有一个功能模板:

template<class T1, class T2>
void mainLoop(HDC hDC) {
     ...*(code)*...
}

我在WinMain函数中调用它,因为这是一个Windows应用程序:

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR
lpCmdLine, int nCmdShow) {
     void(*mainFunc) (HDC) = &mainLoop;
     HWND hwnd = WinCreate(hInstance, hPrevInstance, lpCmdLine, nCmdShow,
mainFunc);
     return 0;
}

我的错误是:&#34;错误C2440:&#39;初始化&#39;:无法转换来自&#39;重载功能&#39; to&#39; void(__ cdel *)(HDC)&#34; 我在Visual Studio 2015中工作。我已尝试对程序进行各种简单的调整以使其工作,所有这些都证明是徒劳的。我不太了解重载,所以c ++的区域对我来说是个新鲜事。任何帮助,将不胜感激。我该怎么做才能修复此代码? 另请注意,当我添加

template<class T1, class T2>

在WinMain函数之前,我收到错误&#34;错误C2731:&#39; WinMain&#39;功能不能超载&#34;

请帮忙。

0 个答案:

没有答案