无法在 CPP 中使用矢量打印间隔

问题描述

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;