【发布时间】:2017-06-29 17:46:47
【问题描述】:
我有一个指向方法的指针:
struct A { int method() { return 0; } };
auto fn = &A::method;
我可以通过 std::result_of 获得返回类型,但是我如何从 fn 获得方法的类所有者?
【问题讨论】:
-
你不能,标准中没有这样的特征。编译器会知道它,所以它应该是可能的,但根本没有办法获得这些信息。
-
模板
ClassType foo(ReturnType (ClassType::*)(Args...));应该工作 -
@felix 你应该把它写成答案。
-
在我的手机上编辑。很难提供一个格式良好的答案.. : |
-
看this question相关p0172r0 paper;它提到了一种从指向成员函数的指针中拆分类类型的奇怪方法。
标签: c++ c++14 metaprogramming