書いてみた。 [ソース] #include <utility> #include <iostream> template<typename T, typename Member> auto setter(T t, Member member){ return [=](auto&& x){ t ->* member = x; }; } template<typename T, typename Member> auto getter(T t, Member member){ return [=]{ return t ->* member; }; } class X{ int value = 42; public: decltype(setter(std::declval<X*>(), &X::value)) set_value = setter(this, &X::value); declt