6
Как проверить во время компиляции, что указатель функции имеет соглашение о вызове __stdcall
?Проверка соглашения о вызове типа указателя на функцию
Что-то вроде
void foo() {}
static_assert(is_stdcall<decltype(&foo)>::value, "foo() must be stdcall");
или по крайней мере
must_be_stdcall<T>(); // compiler error or warning if not stdcall
Если вы говорите о времени компиляции, то, по-видимому, вы хотите проверить * функции *, а не * указатели на функции *? –
@Oli Charlesworth: функции-указатели _types_. – Abyx
@Abyx: Если вы определяете тип * function-pointer * type, вы знаете по определению, что такое его соглашение о вызове. Зачем вам это нужно проверять? –