【问题标题】:Unable to print Interval Using Vectors in CPP无法在 CPP 中使用向量打印间隔
【发布时间】:2020-12-25 08:42:35
【问题描述】:
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;
}

【问题讨论】:

    标签: c++ visual-c++ c++17


    【解决方案1】:

    试试这个

    #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;
    }
    

    【讨论】:

    • 非常感谢兄弟在这方面的帮助
    【解决方案2】:

    您的print() 函数应具有void print(vector&lt;pair&lt;int,int&gt;&gt; a) 的签名。

    在您的print() 函数中,您尝试直接打印a[i],但a[i]pair&lt;int,int&gt;。您需要单独打印pair 中的每个值。例如:

    cout << "Original " << a[i].first << "," << a[i].second;
    

    【讨论】:

    • 通过 const ref 传递会更好。
    猜你喜欢
    • 2021-10-27
    • 2017-10-31
    • 2018-11-26
    • 2021-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多