Создание псевдонима на несуществующий метод
class Delegate {
private:
struct X {
};
typedef void (X::*Func)();
Func _func;
};
Структура X не имеет метода Func, но почему-то есть возможность создать псевдоним.
Ответы (1 шт):
Автор решения: HolyBlackCat
→ Ссылка
Func
- это имя псевдонима (для типа), а не имя метода.
Будет нагляднее если переписать через using
: typedef void (X::*Func)();
- то же самое, что using Func = void (X::*)();
.