啊, 我搞错 perfect forwarding 的写法了...perfect forwarding 需要函数参数的型别在函数自己的模版里这样才能触发 rvalue ref 的特殊模版推导规则所以把 Proxy 的 operator() 加个模版就行了变成像是这样
http://ideone.com/ZBnLhn呼叫方也改成有丢左值跟丢右值的状况以资证明这是 OK 的这个特殊推导规则是: 模版型别若在函式参数里是 rvalue ref的型式出现时, 推导结果视乎呼叫方该参数是左值还右值而定左值则推导为 lvalue ref, 右值则推导为不带 ref 的型态这只在函式模版才有, class 模版不会也无法做这种推导