VC++7.1でboost::functionが正しく機能しなくて小1時間悩んでいたらどうやらmanaged C++が原因のようでした.
boost::functionf; f = std::less (); assert(f); // managed拡張を有効にしているとassertion failureする
プロジェクトのプロパティからマネージ拡張をoffにすれば取り合えずこのbugは避けられます.ちうか漏れはマネージ拡張なんて要らないし.VC++7.1使っているのは単に完成度の高いIDEが欲しいだけなんだから.
参考: