テンプレートのメタプログラミングでメンバー関数ポインターを使用することは可能ですか? そのような:
class Connection{
public:
string getName() const;
string getAlias() const;
//more stuff
};
typedef string (Connection::*Con_Func)() const;
template<Con_Func _Name>
class Foo{
Connection m_Connect;
public:
Foo(){
cout << (m_Connect.*_Name)();
}
};
typedef Foo<&Connection::getName> NamedFoo;
typedef Foo<&Connection::getAlias> AliasFoo;
確かに、これはかなり不自然ですが、可能ですか? (はい、おそらくもっと良い方法がありますが、私を笑わせてください。)