无效的二进制表达式操作数('basic_ostream <char,std :: __ 1 :: char_traits <char>>'和'vector <int> :: iterator'(aka'__wrap_iter <int *>'))

在程序执行期间,显示上述错误。

该代码的目的是,如果v向量及其对应的索引中存在数字“ h”,则打印“是”。如果不存在该数字,则必须打印“ No”,然后打印下一个最小数字的索引,该索引正好大于该数字。

预先感谢您的帮助。

    cin >> h; //value to be searched in vector v
    vector<int>::iterator lower;
    lower=lower_bound(v.begin(),v.end(),h);
    if(*(lower) == h){
        cout<<"Yes "<<lower<<endl;
    }else{
        cout<<"No "<<lower<<endl;