如何给Std :: Vector的默认参数Std :: pairs?

时间:2020-04-17 14:07:45

标签: c++ c++14

我不知道将有多少输入作为一对整数输入到我的函数中。因此,为了实现这一点,我想获得一个默认参数std :: pair的std :: vector,因为在没有输入的情况下我至少需要一对。我该如何实现?

#include <iostream>
#include <string>


void default_function(int inp1 = 11, int inp2 = 13){ //, std::vector<std::pair<int,int>> defaultVector = XXXX

}

int main()
{

    default_function();
    return 0;

}

例如,在这种情况下,用户无法输入任何对,我将其设置为0,0。他们可以输入(0,2)作为一对,或输入(0,5),(2,2),(0,2)作为三对或更多对。该如何处理?

(C ++ 14版本)

1 个答案:

答案 0 :(得分:2)

使用如下所示的初始化列表

void default_function(
    std::vector<std::pair<int,int>> v =
    {{1,2}, {3,4}, {5,6}})
{
    for(auto &p: v)
        std::cout << p.first << ", " << p.second << " : ";
}

int main() {
    default_function();
    return 0;
}
相关问题