error: reference to non-static member function must be called sort(nums.begin(),nums.end(),cmp1)

leetcode179题中编译出现则个问题

出错的代码:

class Solution {
public:bool cmp1(const int& a, const int& b){string s1=to_string(a);string s2=to_string(b);string ans1=s1.append(s2);string ans2=s2.append(s1);return ans1>ans2;}string largestNumber(vector<int>& nums) {sort(nums.begin(),nums.end(),cmp1);string ans="";int len1=nums.size();if(nums[0]==0){return "0";}for(int i=0;i<len1;++i){ans.append(to_string(nums[i]));}return ans;}
};

我本来想自定义compare函数传入sort中,但却报错。

error: reference to non-static member function must be called sort(nums.begin(),nums.end(),cmp1);

原因是我把cmp1函数写在类里面,普通的成员函数都有一个隐含的this指针,表面上看cmp1只有两个参数,但实际上它有三个参数,而调用sort()排序函数的时候只需要用到两个参数进行比较,所以就出现了形参与实参不匹配的情况(函数有三个形参,但是只输入了两个实参)。

解决方法:

把cmp1移出类外

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java中间件

传统的HTML已经满足不了如今web系统的诸多的功能需求&#xff0c;建立一个交互式的Web&#xff0c;便诞生了各种Web开发语言&#xff0c;如ASP&#xff0c;JSP&#xff0c;PHP等&#xff0c;这些语言与传统的语言有着密切的联系&#xff0c;如JSP基于Java语言。 JSP是在普通的…

怎么把php查询到的值显示到下拉框中_RazorSQL for Mac(数据库工具查询) v8.5.0

RazorSQL Mac是一款专门为mac用户推出的数据库管理软件&#xff0c;允许您从一个数据库工具查询&#xff0c;更新&#xff0c;导航和管理所有主要数据库&#xff0c;RazorSQL Mac功能强大还支持SQL的编辑、数据库管理工具,支持多种数据库&#xff01;razorsql mac版使用方法Raz…

5分钟,看尽芯片和摩尔定律“你追我赶”的抗衡50年

来源&#xff1a;大数据文摘“摩尔定律过去是每5年增长10倍&#xff0c;每10年增长100倍。而如今&#xff0c;摩尔定律每年只能增长几个百分点&#xff0c;每10年可能只有2倍。因此&#xff0c;摩尔定律结束了。”今年一月份&#xff0c;英伟达(Nvidia)CEO黄仁勋在CES 2019展会…

Android Context 上下文 你必须知道的一切

今天被问到了关于Context的一些问题。发现自己关于这部分还是不是很清晰&#xff0c;然后发现洋神博客里有一篇讲的很好 很详细。我反正是看懂了&#xff0c;我觉得我再写 也不会比这个更清楚了&#xff0c;所以转过来。 http://blog.csdn.net/lmj623565791/article/details/40…

python中mysqldb模块_python中MySQLdb模块用法实例

本文实例讲述了python中MySQLdb模块用法。分享给大家供大家参考。具体用法分析如下&#xff1a;MySQLdb其实有点像php或asp中连接数据库的一个模式了&#xff0c;只是MySQLdb是针对mysql连接了接口&#xff0c;我们可以在python中连接MySQLdb来实现数据的各种操作。python连接m…

g++编译多个文件

假设现在有一个add.cpp,add.h,main.cpp这三个文件&#xff0c;文件内容如下&#xff1a; add.cpp: add.h: main.cpp: 我需要将add.cpp和main.cpp这两个文件进行编译&#xff0c;有以下两种方法&#xff1a; g -c add.cpp g -c main.cpp g main.o add.o -o test ./test 第二种…

【数字孪生】工业互联网和数字孪生

来源&#xff1a;产业智能官《崛起的超级智能》一书主要阐述当今天人类为人工智能的春天到来而兴奋&#xff0c;为人工智能是否超越人类而恐慌的时候&#xff0c;一个更为庞大、远超人类预期的智能形态正在崛起&#xff0c;种种迹象表明50年来&#xff0c;互联网正在从网状结构…

javascript数组扁平化处理

最近看jQuery源码$.map方法的实现&#xff0c;返回值利用了一个扁平化处理 return ret.concat.apply( [], ret ) 这有个疑问&#xff0c;不知道为什么不直接返回ret 根据这个返回值处理&#xff0c;推测ret可能不是一阶数组&#xff0c;例如[1,2,[3,4]]这样的; var ret [1,2,[…

k折交叉验证法python实现_Jason Brownlee专栏| 如何解决不平衡分类的k折交叉验证-不平衡分类系列教程(十)...

作者&#xff1a;Jason Brownlee编译&#xff1a;Florence Wong – AICUG本文系AICUG翻译原创&#xff0c;如需转载请联系(微信号&#xff1a;834436689)以获得授权在对不可见示例进行预测时&#xff0c;模型评估涉及使用可用的数据集来拟合模型&#xff0c;并评估其表现性能。…

linux的find命令满屏权限不够提示

用find命令是如果是普通用户通常会输出一堆“权限不够”的提示&#xff0c;这会影响到我们找出有用的信息&#xff0c;为了将这些错误忽略&#xff0c;可以采用重定向&#xff1a; find / -name add.h 2> /dev/null

AI“换脸”打开潘多拉魔盒,如何应对?

来源&#xff1a;科学网近日&#xff0c;一款名为“ZAO”的换脸APP引发舆论关注。用户上传照片&#xff0c;就可以把影视剧主角的脸替换成用户自己的脸。在过把“明星瘾”的同时&#xff0c;也让大众关注到“换脸”带来的个人信息泄露风险。信息时代&#xff0c;“脸面”不仅仅…

stm32超声波测距代码_超声波模块另类用法,悬浮,你也能做到

今天&#xff0c;给大家介绍一个「超酷的DIY声波悬浮」研究项目。虽然超声波悬浮&#xff0c;不能像磁悬浮那样悬浮比较重的物品。不过能把小泡沫球、水滴或者蚂蚁这样的小物体悬浮起来也是很有意思的。制作这样一个简易的超声波悬浮器并不需要多少成本&#xff0c;而且材料很容…

vim:去掉响铃

vim在移动字符出界&#xff08;上下左右&#xff09;包括按<ESC>建都会响铃&#xff0c;有时候真的很烦。 在网上搜了一下&#xff0c;原来是visualbell来控制的&#xff0c;在vim里使用命令:help visualbell&#xff0c;原来禁止命令是:novb 好了&#xff0c;在.vimrc文…

【AI战略】2019年美国国家人工智能战略报告(中文翻译版)

来源&#xff1a;AI城市智库人工智能(AI)拥有巨大的希望&#xff0c;几乎可以使社会的各个方面受益&#xff0c;包括经济&#xff0c;医疗保健&#xff0c; 安全&#xff0c;法律&#xff0c;运输&#xff0c;甚至技术本身。2019年2月11日&#xff0c;总统签署了行政命令13859…

函数对象

若一个类重载了运算符“&#xff08;&#xff09;”&#xff0c;则该类的对象就成为函数对象。函数对象可以用于标准库算法。函数对象和函数指针很相似&#xff0c;但也有区别。当函数对象使用模板时可以赋值给函数指针。 #include <iostream #include <vector> #incl…

linux vim下删除一行和多行

删除一行&#xff1a; 在命令模式下将光标移至要删除的行位置&#xff0c;按下dd 删除n行&#xff1a; 假设要删除5行&#xff0c;在命令模式下将光标移至要删除的行的开始位置&#xff0c;按下5dd

python如何查看有什么模块_在python中如何查看模块功能

在python中查看模块功能的方法&#xff1a;1、在python命令行输入help()函数进入help帮助文档界面&#xff1b;2、键入【modules】列出当前所有安装的模块&#xff1b;3、键入相应的模块名称即可得到该模块的功能信息。python的一个优势是有着大量自带和在线的模块(module)资源…

拍下首张黑洞照片的团队获300万美元奖金:2020年科学突破奖揭晓

来源&#xff1a;科学突破奖科学突破奖2019 年 9 月 5 日&#xff0c;2020 年度突破奖&#xff08;Breakthrough Prize&#xff09;揭晓。突破奖&#xff0c;又被誉为“科学界的奥斯卡”&#xff0c;现已经入第八个年头。突破奖每年都会表彰在生命科学&#xff0c;基础物理学和…

linux vim复制和粘贴

复制&#xff1a; 在命令行模式下将光标移至要复制的行&#xff0c;按下yy即可复制该行&#xff0c;如果要复制5行&#xff0c;按下5yy即可复制从光标这行开始的5行 粘贴&#xff1a; 在命令行模式下将光标移至粘贴处&#xff0c;按下p