首页 > 编程语言 >C++自定义比较函数的bug

C++自定义比较函数的bug

时间:2023-03-08 14:33:34浏览次数:69  
标签:queue return 自定义 int auto C++ priority bug cmp

auto cmp = [] (int x, int y) {return true;};
priority_queue<int, vector<int> , cmp> q;

报错第三个参数失配,需要一个类型,而不是对象。平时用sort直接传cmp习惯了,才发现这类模板尖括号内要传类型,包括set和map。

auto cmp = [] (int x, int y) {return true;};
priority_queue<int, vector<int> , decltype(cmp)> q;

又报错,匿名函数没有默认构造函数,要手动传入对象。

auto cmp = [] (int x, int y) {return true;};
priority_queue<int, vector<int> , decltype(cmp)> q(cmp);

priority_queue, set, map的comp类型一定要有默认构造函数。

标签:queue,return,自定义,int,auto,C++,priority,bug,cmp
From: https://www.cnblogs.com/hellozhangjz/p/17191897.html

相关文章

  • ℬ悟透C++┇Puzzle记录
    C++Puzzles★1.有如下代码,问:ptr指向了谁?能通过ptr调用Derived类重写的函数吗(即多态还起作用吗)?dynamic_cast到底是什么作用?ptr2与ptr性质是一样的吗?Derived*derived=ne......
  • 大数科学计算器 C++
    大数计算器目录大数计算器优点实现思路自定义类MyNum类★★★Method类具体函数实现MyNum类的函数构造&三大函数数学函数转换函数运算符重载显示函数Method类的函数构......
  • [java]-自定义注解
    aop+自定义注解注解基础1.Java注解的描述java注解又叫做java标注,是java的一种注释机制,在jdk5.0引入。其可以作用在类、方法、变量、参数和包上。另外,其可以通过反射来获......
  • C++ primer StrBlobPtr和StrBlobPtr
    1#include<iostream>2#include<stdio.h>3#include<string>4#include<memory>5#include<algorithm>6#include<initializer_list>7#inclu......
  • jeecg-boot中分页接口用自定义sql和list实现
    1、controller中@ApiOperation(value="分析仪工作状态和报警-3列-分页",notes="分析仪工作状态和报警状态-分页")@ApiImplicitParams({@ApiImpli......
  • 设计模式5——自定义Spring框架
    1、Spring核心功能结构Spring大约有20个模块,由1300多个不同的文件构成。这些模块可以分为:核心容器、AOP和设备支持、数据访问与集成、Web组件、通信报文和集成测试等。下......
  • C++11 thread_local关键字
    这是一篇科普文--关于thread_local关键字首先,C++11之前并没有对并发进行任何的支持,C++11首次提供了以下的支持:语言核心定义了一个内存模型,保证当更改"被两个不同线程使......
  • 第一个C程序:如何在DevC++中编辑、编译和运行程序
    第一步:打开DevC++程序,选择文件——新建——源代码 第二步:保证输入法在英文状态下输入代码 第三步:保存文件,保存的时候选择.c文件格式 保存完之后*号消失 ......
  • C/C++课程设计题目及具体要求[2023-03-07]
    C/C++课程设计题目及具体要求[2023-03-07]三、课程设计题目及具体要求:(1)学生成绩管理程序要求:本程序用于教学单位(院/系)的学生成绩管理。要求程序能够实现学生信息......
  • [Effective] 1 让自己习惯 C++
    1让自己习惯C++条款01:视C++为一个语言联邦C++可以认为由4个次级语言组合而成:C是C++的语法基础;Object-orientedC++实现面向对象设计;TemplateC++实现泛型编......