c++ - 向量初始化中使用的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 吗?
解决方案
你有一个vector
s pair
。要构造一个有十对的,您需要先指定数量,然后是初始值。换句话说:“多少什么”:
vector<pair<float, int>> A(10, make_pair(1.0f, 0));
推荐阅读
- google-data-studio - 如何在 Data Studio 中为多个最终用户启用“按电子邮件过滤”?
- javascript - 如何将 Javascript html 文件中的元素值变量传递给 Google Apps 脚本中的 code.gs 文件?
- sql - 在没有关键字的情况下,使用多个连接计算大于和求和一个值的语法
- javascript - 带有 formvalidation 的正则表达式在每个字符后更改结果
- python - 自定义用户的不同登录视图
- microsoft-graph-api - 一个渠道(例如期刊或会议)被 Microsoft Academic Graph 索引的标准和/或流程是什么?
- javascript - 每次变量更改语句执行一个console.log
- javascript - 访问包含在模板化把手页面中的按钮的 onclick 处理程序
- regex - 为什么 sed 命令无法识别我的正则表达式来更改日期格式?
- wordpress - 无法再访问 Amazon Lightsail LAMP 应用程序站点