成员'push_back'向量 C++ 的 Rquest

Rquest for member 'push_back' vectors c++

本文关键字:C++ Rquest 向量 push 成员 back      更新时间:2023-10-16

我有这个代码:

#include <iostream>
#include <vector>
using namespace std;
const int NMAX=10;
vector <int>sir[NMAX];
int s[10];
int main()
{
int n, i;
cin>>n;
for(i=1;i<=n;i++)
cin>>s[i];
sir.push_back(s);
for(i=0;i<sir[0].push_back();i++)
cout<<sir[0][i]<<" ";
return 0;
}

在第15行,我有一个错误:

请求"sir"中的成员"push_back",该成员不是类类型"std::vector[10]"。

为什么会出现此错误?

要么使用数组,要么使用向量,但没有理由将它们混合使用。

此外,当你做.push_back()时,看起来你指的是.size()

假设你想要矢量,我们可以将其设为2D矢量,并修复.size()错误:

const int NMAX=10;
vector <vector<int>> sir;
vector<int> s(10);
int main()
{
int n, i;
cin>>n;
for(i=1;i<=n;i++)
cin >> s[i];
sir.push_back(s);
for(i=0;i < sir[0].size();i++)
cout<<sir[0][i]<<" ";
return 0;
}