>>166
「型が違う」ってどの程度違う?
その例だと、(10, 10)で呼び出しているから、
・型はT (T1, T2)という形であり、
・int -> T1, int -> T2の暗黙の変換がある。
という条件を仮定している。
こういう条件があるなら、細かい型の違いを無視して
boost::function<void (int, int)>に入れられたと思う。