首页 > 解决方案 > C++计数成员函数重载

问题描述

:有没有办法实现计算同名成员函数的类型特征?

基本机制是template-parameter-pack从单个函数/成员函数 ref/ptr 语法中获取 a,
其中包含可能的重载 -如果没有额外的样板,这对我来说似乎是不可能的

这是一个假设的语法:

// impl

template <typename>
struct count_function_overloads
{
   constexpr static bool value = /**/;
};
template <typename T>
constexpr static auto count_overloads_v = count_overloads<T>::value;

// usage

struct A {
   void func(int);
   void func(char, float);
};
static_assert(count_overloads_v<decltype(&A::func)> == 2);

标签: c++c++17

解决方案


推荐阅读