不匹配&#39; operator =&#39;(操作数类型是&#39; std :: vector <int>&#39;和&#39; int&#39;

时间:2017-06-09 10:39:29

标签: c++ gcc stl

我是c ++的新手,我正在学习矢量。我写了一个基本代码,看它是如何工作的,但是我得到了以下错误。

|| ===构建文件:&#34;没有目标&#34; in&#34;没有项目&#34; (编译器:未知)=== | C:\ Users \ Sohit \ Desktop \ Comparator \ vectors.cpp ||在函数&#39; int main()&#39;:| C:\ Users \ Sohit \ Desktop \ Comparator \ vectors.cpp | 7 | error:&#39; void operator =(const int&amp;)&#39;必须是非静态成员函数| C:\ Users \ Sohit \ Desktop \ Comparator \ vectors.cpp | 10 |错误:不匹配&#39; operator =&#39; (操作数类型是&#39; std :: vector&#39;和&#39; int&#39;)|

不匹配&#39; operator =&#39;(操作数类型是&#39; std :: vector&#39;和&#39; int&#39; 请帮忙

#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> v[100];+
for(int i=0;i<100;i++)
    v[i]=i+1;

    int Count=v.size();
    std::cout<<Count;
    bool is_nonempty=!v.empty();

    cout<<is_nonempty;


    vector<int>v2;
for(int i=0;i<100;i++)
    v2.push_back(i*i);

int count2 = v2.size();
cout<<count2;

v.resize(200);

for(int i=100;i<200;i++)
    v[i]=i*i*i;

v.resize(200);

for(int i=100;i<200;i++)
    v2.push_back(i*i*i);

vector<int> v3=v2;

v.clear();

v(20,"unknown");

int n,m;
cin>>n>>m;
vector< vector<int> > Matrix(n,vector<int>(m,-1));

for(int i=0;i<n;i++)
    for(int j=0;j<m;j++)
    cout<<Matrix[i,j];

return 0;

}

1 个答案:

答案 0 :(得分:5)

以下内容:

vector<int> v[100];

...声明了100个int的大小为0的向量,所以当你这样做时:

v[i] = i+1;

v[i]是第i个向量,因此您尝试将i + 1 int分配给v[i] vector

如果你想要一个大小为100的矢量,那么正确的语法是:

vector<int> v(100);