所以我正在尝试构建一个向量,然后将对项目推回去。代码如下:
int main()
{
int n;
cin >> n;
vector<pair<int,string>> o(n,make_pair(0," "));
for(int a0 = 0; a0 < n; a0++)
{
int x;
string s;
cin>>x>>s;
o.push_back(make_pair(x,s));
}
for(int i=0;i<n;++i)
cout<<o[i].first;
return 0;
}
但结果向量显示错误的结果。那么这里有什么问题?有人可以帮助我吗?
答案 0 :(得分:1)
仅使用此vector<pair<int, string>> o;
您最终会在向量中使用2n个元素,或者您可以
int n;
cin >> n;
vector<pair<int, string>> o (n, make_pair(0, " "));
for (int a0 = 0; a0 < n; a0++)
{
int x;
string s;
cin >> x >> s;
auto& it = o.at(a0);
(it.first) = x;
it.second = s;
//o.push_back(make_pair(x, s));
}