あ、ごめん

v.erase(std::remove(v.begin(), v.end(), std::compose2(
std::logical_or<bool>(),
std::bind2nd(std::equal_to<int>, 0),
std::bind2nd(std::equal_to<int>, 1)),
v.end())

だった
removeは残す要素の候補を前に集めるだけで、実際の削除は
しませんのでstd::eraseもしくはメンバ関数eraseを使います