VS
template<typename Signature> struct S;ЧЯДНТ?
template<typename ReturnT, typename ... Args>
struct S<ReturnT(Args...)>
{
virtual ReturnT operator()(Args && ...) = 0;
};
struct Test : S<void(int)>
{
void operator()(int a) override {}
};
error: ‘void Test::operator()(int)’ marked ‘override’, but does not override