Есть такой код, находящий окно с заданным заголовком:
BOOL CALLBACK EnumWindowsProc(HWND wnd, LPARAM lParam)
{
char title[256];
int res = GetWindowText(wnd, title, 255);
char *result = strstr(title, "MyTitle");
if (result != NULL)
Count++;
if (Count > 1)
return false;
else
return true;
}
AnotherPrintWindow()
{
Count = 0;
/*1*/EnumWindows(&this->EnumWindowsProc, 0);
if (Count > 1)
return true;
else
return false;
}
В строке /*1*/ компилятор выдает ошибку:
[C++ Error] DATA.cpp(158): E2034 Cannot convert 'int (__stdcall * (_closure )(void *,long))(void *,long)' to 'int (__stdcall *)()'
[C++ Error] DATA.cpp(158): E2342 Type mismatch in parameter 'lpEnumFunc' (wanted 'int (__stdcall *)()', got 'int (__stdcall * (_closure )(void *,long))(void *,long)')
Почему он думает, что функция EnumWindowsProc() должна быть без параметров?