问题描述
using namespace std;
void print(std::vector<int,int> a)
{
for (int i = 0; i < a.size(); i++)
{
std::cout << "Original " << a[i];
}
}
int main()
{
vector<pair<int,int> >a;
for (int i = 0; i < 3; i++)
{
int x,y;
cin >> x >> y;
a.push_back({ x,y });
}
print(a);
return 0;
}
解决方法
试试这个
#include <iostream>
#include <vector>
using namespace std;
void print(std::vector<pair<int,int>> a) {
for (int i = 0; i < a.size(); i++) {
std::cout << "Original " << a[i].first << "," << a[i].second;
}
}
int main()
{
vector<pair<int,int> > a;
for (int i = 0; i < 3; i++) {
int x,y;
cin >> x >> y;
a.push_back({x,y});
}
print(a);
return 0;
}
,
您的 print()
函数应该具有 void print(vector<pair<int,int>> a)
的签名。
在您的 print()
函数中,您尝试直接打印 a[i]
,但 a[i]
是 pair<int,int>
。您需要单独打印 pair
中的每个值。例如:
cout << "Original " << a[i].first << "," << a[i].second;