首页 > 解决方案 > 向量初始化中使用的make_pair是错误的吗?

问题描述

我像这样初始化一个向量:

vector<pair<float,int>> A(make_pair(1.0,0),10);

并发生错误:

error:no matching function for call to ‘std::vector<std::pair<float, int> >::vector(std::pair<float, int>, int)’

那么如何初始化vector<pair> 结构呢?我想用 N 个相同的对初始化这个,我应该使用 push_back 吗?

标签: c++

解决方案


你有一个vectors pair。要构造一个有十对的,您需要先指定数量,然后是初始值。换句话说:“多少什么”

vector<pair<float, int>> A(10, make_pair(1.0f, 0));

推荐阅读