我有以下代码:
#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/