I have two vector: locs_current_all and sc_current_peaks_pos (both filled with position values), some elements are in common. In vector sc_current_peaks_pos there are the indexes that I want to erase from vector sc_current_peaks_pos.
So here my code.
1st method: try to copy in the vector non_short_circuit_current only the different elements between
locs_current_all and sc_current_peaks_pos.
vector<int> non_short_circuits_current;
int j_nsc=0;
for(int i=0;i<=sc_current_peaks_pos.size()-1;i++){
for(int k=j_nsc;k<=locs_current_all.size()-1;k++){
j_nsc++;
if(sc_current_peaks_pos[i]==locs_current_all[k])
non_short_circuits_current.push_back(locs_current_all[k]);
//else break ;
}
}
2nd method: erase from vector locs_current_all the elements inside sc_current_peaks_pos.
vector<int> non_short_circuits_current;
std::for_each(std::begin(sc_current_peaks_pos), std::end(sc_current_peaks_pos), [&](int indexOpp){
non_short_circuits_current.erase(locs_current_all [indexOpp]);
});// erase wants more parameters!!!
All the two methods fail. Thanks in advance for your help.