0
我想找到兩個向量的差集使用的載體,所以我做這樣的事情:斷言錯誤:在性病:: set_difference
std::vector<sha1_hash> first_vec, second_vec, difference_vec;
// populate first_vec and second_vec ...
std::sort(first_vec.begin(),first_vec.end());
std::sort(second_vec.begin(),second_vec.end());
std::set_difference(first_vec.begin(),first_vec.end(),
second_vec.begin(),second_vec.end(),
difference_vec.begin());
,當我在調試運行它,我得到以下運行時斷言失敗(在「矢量」):
_SCL_SECURE_VALIDATE_RANGE(_Myptr < ((_Myvec *)(this->_Getmycont()))->_Mylast);
我使用VS 2008 任何想法什麼可以觸發這個?
那麼詳細使用back_insert_iterator的: 的std :: set_difference(first_vec.begin(),first_vec.end(),second_vec。 begin(),second_vec.end(),std :: back_inserter(difference_vec)); – 2009-02-24 16:30:29