请问vector不能这样写吗?

下面是在二维数组中的查找target, 错误提示:no viable overloaded '='

 class Solution {
public:
    bool Find(vector<vector<int> > array,int target) {
        vector<int>::iterator itrx;
        vector<int>::iterator itry;
        for(itrx=array.begin();itrx!=array.end();itrx++){ //: no viable overloaded '='
            for(itry=itrx.begin();itry!=itrx.end();itry++){
                if(itry==target){
                    return true;
                } else if(itry > target) {
                    break;
                }
            }
        }
        return false;
    }
};

谢谢

知道怎么修改了,以前的错误主要源于自己不知道如何访问嵌套的vector,现在下面两种方法都可以访问嵌套的vector,方便后面的人查看访问方式。

方法一:

 class Solution {
public:
    bool Find(std::vector<std::vector<int> > array,int target) {
        std::vector<std::vector<int>>::iterator row_num;
        std::vector<int>::iterator col_num;
        for(row_num=array.begin();row_num!=array.end();row_num++){
            for(col_num=(*row_num).begin();col_num!=(*row_num).end();col_num++){
                if(*col_num==target){
                    return true;
                } else if(*col_num>target) {
                    continue;
                }
            }
        }
        return false;
    }
};

方法二:

 class Solution {
public:
    bool Find(std::vector<std::vector<int> > array,int target) {
        int row_num = array.size();
        int col_num = (*array.begin()).size();
        for(int i=0;i<row_num;i++){
            for(int j=0;j<col_num;j++){
                if(array[i][j]==target){
                    return true;
                } else if(array[i][j]>target){
                    break;
                }
            }
        }
        return false;
    }
};
 类型不匹配,array.begin()返回vector<vector<int>>::iterator,不是vector<int>::iterator

class Solution {
public:
bool Find(vector > array,int target) {
vector >::iterator itrx;
vector::iterator itry;
for(itrx=array.begin();itrx!=array.end();itrx++){ //: no viable overloaded '='
for(itry=itrx.begin();itry!=itrx.end();itry++){
if(itry==target){
return true;
} else if(itry > target) {
break;
}
}
}
return false;
}
};

class Solution {
public:
bool Find(vector > array,int target) {
vector >::iterator itrx;
vector::iterator itry;
for(itrx=array.begin();itrx!=array.end();itrx++){ //: no viable overloaded '='
for(itry=itrx.begin();itry!=itrx.end();itry++){
if(itry==target){
return true;
} else if(itry > target) {
break;
}
}
}
return false;
}
};

std:: vectorstd::vector<int >::iterator itrx;

vector > array
vector::iterator

这两个怎么匹配?