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

时间:2018-08-01 16:07:09

标签: c++ vector compiler-errors

我有此代码:

#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]'。

为什么会出现此错误?

1 个答案:

答案 0 :(得分:1)

既可以使用数组也可以使用向量,但是没有理由混合使用它们。

此外,当您执行.size()

时,您的意思是.push_back()

假设您需要向量,我们可以将其设为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;
}