>>352
コンパイルできるかどうか試していないけどこんなのは?
template <typename T>
foo<T> create_foo(T mem_ptr)
{
    return foo<T>(mem_ptr);
}
こうしたらsort()を呼ぶときに型を意識する必要がなくなる。
sort(v.begin(), v.end(), create_foo(&hoge::x));