>>354
template<typename U>
BasicScopeOutHandler makeBasicScopeOutHandler(U& target, const U& valueToSet);

int i=1;
auto outo(makeBasicScopeOutHandler(i, 0));

こんな感じでいけなかったっけ?