How do I find an element position in std::vector?
Take a look at the answers provided for this question: Invalid value for size_t?. Also you can use std::find_if with std::distance to get the index. std::vector<type>::iterator iter = std::find_if(vec.begin(), vec.end(), comparisonFunc); size_t index = std::distance(vec.begin(), iter); if(index == vec.size()) { //invalid }