>>331
それはさすがに駄目で、VC++で次のエラーになる
 error C2912: 明示的な特殊化; 'void tr_pos(const Foo&,Foo &)' は関数テンプレートの特殊化ではありません。
原因は1日目に追加したtr_pos<T, U>(const T&, U&)、および2日目に追加したtr_pos<U>(const Foo&, U&)、tr_pos<T>(const T&, Foo&)の
3種類のうちのどれを特殊化すべきなのかわからないかららしい