'operator ='不匹配(操作数类型为'std :: vector <int>'和'int'

Soh*_*ore 3 c++ gcc stl

我是c ++的新手,正在学习vector。我写了一个基本代码以查看其工作原理,但出现以下错误。

|| ===构建文件:“无项目”中的“无目标”(编译器:未知)=== | C:\ Users \ Sohit \ Desktop \ Comparator \ vectors.cpp ||在函数“ int main()”中:| C:\ Users \ Sohit \ Desktop \ Comparator \ vectors.cpp | 7 |错误:“ void运算符=(const int&)”必须是非静态成员函数| C:\ Users \ Sohit \ Desktop \ Comparator \ vectors.cpp | 10 |错误:“ operator =”不匹配(操作数类型为“ std :: vector”和“ int”)|

'operator ='不匹配(操作数类型为'std :: vector'和'int'请提供帮助

#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;
Run Code Online (Sandbox Code Playgroud)

}

Hol*_*olt 8

下列:

vector<int> v[100];
Run Code Online (Sandbox Code Playgroud)

...声明int具有size的100个向量0,因此在执行以下操作时:

v[i] = i+1;
Run Code Online (Sandbox Code Playgroud)

v[i]是第i个向量,所以你尝试分配i + 1这是一个intv[i]vector

如果要单个大小为100的向量,则正确的语法为:

vector<int> v(100);
Run Code Online (Sandbox Code Playgroud)