3
静的クラス関数Foo::bar()
への関数ポインタを持っていて、クラスの型(Foo
)を取得したいと思います。今、私はbar
がFoo
のメンバ関数であれば、私は次の型の特性のようなものではなく、静的関数で、クラス型を得ることができることを知っている:静的クラス関数のクラス型を取得
template<class T> struct class_of; template<class T, class R> struct class_of<R T::*> { using type = T; };
しかし、これは動作しません。静的関数の場合私は何をしたいことは以下の通りです: class_of<Foo::bar>::type
== Foo
コンパイラは、関連するすべての情報を知っているように私には思えるので、どのようにこれを行うことができますか?