我有此代码:
#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]'。
为什么会出现此错误?
答案 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;
}