Что это за запись с typedef?

typedef int(_stdcall*_MessageboxA)(HWND,LPCSTR,LPCSTR,UINT);

Я не могу понять,что тут переопределяется?Помогите расшифровать данную строку.


Ответы (1 шт):

Автор решения: Harry

Определяется _MessageboxA как псевдоним для типа указателя на функцию с аргументами HWND,LPCSTR,LPCSTR,UINT, возвращающую int и с соглашениями о вызове _stdcall.

А теперь подробнее. Как выглядит функция?

int Function(.....); // .... - аргументы 

Чтобы описать указатель на функцию, недостаточно написать

int *Function(.....); 

Так это будет функция, возвращающая int*, так что нужны вторые скобки:

int (*Function)(.....); 

Так понятнее?

→ Ссылка