c++ - 要求成员 'push_back' vector C++

标签 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行,我有一个错误:

request for a member 'push_back' in 'sir', which is not-class type 'std::vector[10]'.



为什么会出现此错误?

最佳答案

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

另外,当您执行.size()时,看起来像是在说.push_back()
假设您想要 vector ,我们可以将其设为2D vector 并修复.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;
}

关于c++ - 要求成员 'push_back' vector C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51637823/

相关文章:

c++ - 使用 GLUT 按键停止动画?

c++ - 安全地添加整数,并证明安全性

c++ - 在 C++ 中的每个案例步骤自动中断的 Switch 语句

C++ 从指针 vector 中删除元素

c# - 协变和泛型

python - Python类继承查询

c++ - 我怎样才能在 C++ 中循环对

C++ 在函数调用和函数完成后,游戏完全崩溃

c++ - 顺时针和逆时针旋转数组的有效方法

gcc - 使用 c++0x 在 g++ 上出现 strdup 错误