有没有一种简单的方法来推断成员函数的“类型”?我想推断以下(成员)函数的类型:
struct Sample {
void func(int x) { ... }
};
void func(int x) { ... }
到以下类型(用于std::function
):
void(int)
我正在寻找一个支持变量计数(不是可变参数!)的解决方案......
编辑 - 示例:
我正在寻找一个类似于decltype
- 让我们称之为functiontype
- 具有以下语义的表达式:
functiontype(Sample::func) <=> functiontype(::func) <=> void(int)
functiontype(expr)
应评估为与 兼容的类型std::function
。