使用向量.sort() 无效使用非静态成员函数

2023-11-30

我想使用 sort() 函数根据其第一列对二维向量进行排序,但不幸的是,我通过传递“compareAscending”函数得到“无效使用非静态成员函数compareAscending”错误。

我也尝试过将函数设为静态,但遇到了同样的问题。

static bool compareAscending(const std::vector<int>& v1, const std::vector<int>& v2) 
{ 
    return (v1[0] < v2[0]); 
} 

这是我想用于排序功能的比较器

bool compareAscending(const std::vector<int>& v1, const std::vector<int>& v2) 
{ 
    return (v1[0] < v2[0]); 
} 

这是我想调用的排序函数

sort(vect.begin(), vect.end(), compareAscending);

无效使用非静态成员函数compareAscending

使排序函数成为非类成员或使其成为static- 或使用 lambda:

std::sort(vect.begin(), vect.end(),
    [](const std::vector<int>& v1, const std::vector<int>& v2) {
        return v1[0] < v2[0];
    }
);

A static版本:

class foo {
public:
    static bool compareAscending(const std::vector<int>& v1,
                                 const std::vector<int>& v2) {
        return v1[0] < v2[0];
    }
};

std::sort(vect.begin(), vect.end(), foo::compareAscending);

免费功能版本:

bool compareAscending(const std::vector<int>& v1,
                      const std::vector<int>& v2) {
    return v1[0] < v2[0];
}

std::sort(vect.begin(), vect.end(), compareAscending);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用向量.sort() 无效使用非静态成员函数 的相关文章

  • typedef 指针是个好主意吗?

    我查看了一些代码 发现约定是将指针类型转换为 SomeStruct into typedef SomeStruct pSomeStruct 这有什么优点吗 当指针本身可以被视为 黑匣子 时 即其内部表示应该与代码无关的一段数据时 这可能是合
  • 类继承通用字典和Interface

    我有一个继承通用字典和接口的类 public class MyDictionary Dictionary
  • 集合类型名称中的“1”是什么

    我想知道 1 在集合类型名称中意味着什么 例如 List 1 IList 1 有人知道那是什么吗 The backtick表示 泛型类型的名称以反引号 后跟数字结尾 表示泛型类型参数的数量 这样做的目的 名称重整是为了允许编译器支持泛型类型
  • Range For 循环帮助:“:”标记之前的预期初始值设定项

    我对 C 完全陌生 现在正在阅读 C Primer 一书 我写了一个关于字符串的小例子 代码如下 include
  • 忽略正则表达式匹配的空格

    我需要匹配 8 个或更多数字 其序列可以包含空格 例如 以下所有内容都是有效匹配 12345678 1 2345678 12 3 45678 1234 5678 12 34567 8 1 2 3 4 5 6 7 8 此刻我有 d 8 但这只
  • DDD - 跨有界上下文边界聚合根实体使用情况

    在域模型中对实体身份进行建模的一种建议方法是创建值对象而不是使用原始类型 例如在 C 中 public class CustomerId public long Id get set 在我看来 此类应该在整个应用程序中使用 而不仅仅是在域模
  • C# 是否包含 IParsable 或 ItryParsable

    显然 为您自己的解决方案实现以下接口将相当简单 public interface IParsable
  • 关于结构的警告 C26495?

    过去一两年我一直在使用 C NET 但正在为客户更新旧的 C MFC 应用程序 我知道自从我上次使用 C 以来发生了很多变化 但这件事让我感到震惊 我有以下结构 typedef struct FILTERINFO int nCustomer
  • UDP打洞

    我有一些关于 UDP 打洞的问题 基于维基百科http en wikipedia org wiki UDP hole punching http en wikipedia org wiki UDP hole punching 1 要在两方
  • 将 IRandomAccessStreamWithContentType 转换为 Byte[]

    在我的应用程序中 我允许用户使用 ContactPicker 添加联系人 我尝试将 IRandomAccessStreamWithContentType 转换为 Byte IRandomAccessStreamWithContentType
  • OpenCV RGB转灰度

    我正在做一个视频监控项目 我看不到从 RGB 到灰度的转换 我为灰色设置了黑色窗口 你能帮我解决这个问题吗 附代码 另外 如何获得当前帧和前一帧之间的差异 多谢 宜兰 include stdafx h include
  • Promise.defer 的正确模式是什么?

    我正在使用 TypeScript 和async await来表示异步工作流程 该工作流程的一部分是调用 Web Worker 并在其回调结果时继续 在 C 中 我会创建一个TaskCompletionSource await its Tas
  • 什么是 .NET 程序集?

    什么是 NET 程序集 我浏览了网络 但无法理解其定义 程序集是 net 应用程序的最小部署单元 它可以是一个dll or an exe 它主要有两种类型 私人集会 dll 或 exe 是一个应用程序的专有财产 一般存放在应用程序根文件夹中
  • 如何使用 MonoTouch c# 以编程方式获取联系人?

    如何获取 iPhone 中的联系人 我需要从 iPhone 联系人中获取所有属性 如何使用MonoTouch以编程方式实现 ABAddressBook iPhoneAddressBook new ABAddressBook ABPerson
  • 如何获取结构数据的十六进制转储

    finalize char hdrs sendip data headers int index sendip data data sendip data pack 出于调试目的 我想要一个十六进制转储data and pack结构体 其类
  • C# 中 a+=1 和 a=a+1 的区别

    我发现在C 中a 1不等于a a 1 例如 以下代码编译时不会出现任何错误 字节 b 10 b 5 而下面的代码有编译错误 字节 b 10 b b 5 有人可以告诉我为什么吗 Because b 5变成整数 Int32 主要是因为有重载的可
  • C++成员函数的多个非静态回调

    我发现使用下面链接的答案中的代码效果很好 但在我的用例中存在问题 它有效地为非静态成员函数创建一个 静态包装器 以作为回调传递 include
  • 如何可靠地判断 boost 线程是否已退出其 run 方法?

    我以为 joinable 会表明这一点 但事实似乎并非如此 在工人阶级中 我试图表明它仍在通过谓词进行处理 bool isRunning return thread gt joinable 已经退出的线程不是不能加入吗 我错过了什么 boo
  • 如何安装 C++ 的 VOCE?

    我正在尝试安装 VOCE api 它是为 C 和 Java 构建的语音识别 API 这是我第二次使用外部 C 库 也是第一次使用 Java C api 语音链接 http voce sourceforge net http voce sou
  • 工厂模式:typedef Class *(createClassFunction)(void)

    什么是typedef Class createClassFunction void 或者另一种变化是typedef Class stdcall CreateClassFunction void 代表 这是什么意思 我该怎么解释呢 特别是在工

随机推荐

  • 在 Javascript 中获取对象任意级别的元素

    鉴于以下情况 var a JSON parse fst data1 snd ind2 data2 var index fst var res a index res data1 var index2 var res2 a index2 re
  • Microsoft 2010 Visual C,安装FLTK

    MSV2010C 的 FLTK 问题 我正在关注 编程 使用 C 的原理和实践 尝试让 FLTK 正确运行时遇到了麻烦 我为自己工作过一次 然后就再也没有了 我已详细说明了下面所采取的步骤 如果有人能注意到任何奇怪的地方 我将不胜感激 我的
  • 成功使用后几​​天后“未找到”RVM

    我几天前安装了RVM 运行得很好 几天后 现在 我猜是在重新启动几次之后 shell 说它就像没有安装一样rvm not found虽然我可以在我的眼中看到这一切 rvm文件夹 还有一个scripts文件夹到那个 我尝试重新运行安装脚本 但
  • 如何为Rails 3站点中的每个页面设置不同的背景图像?

    我正在尝试弄清楚如何为 Rails 3 站点的每个页面设置不同的背景图像 我怎样才能做到这一点 而不必重复每个页面的 css 文件中的内容 application html erb div class container div class
  • 如何阻止 Eclipse 编辑器在 RCP 中关闭

    我正在开发基于 Eclipse 的 RCP 我们需要防止用户关闭打开的编辑器之一 期望的行为是 用户单击编辑器窗口中的 X 或 CTRL W 弹出一个对话框 显示 如果您关闭此编辑器 您的活动将停止 您想这样做吗 如果他们点击 是 它就会关
  • 如何在 UWP 中写入只读 sqlite 文件

    所以我是 UWP 新手 在完成连接到 sqlite 后tutorial 我对代码进行了一些修改以尝试新事物 我没有在本地文件夹中创建并保存 sqlite 文件 而是将文件目录更改为安装位置 创建了一个文件夹 data 并在其中添加 sqli
  • 我想引用另一个 python 脚本中的变量

    一个变量AA is in aaa py 我想在我的其他 python 文件中使用这个变量bbb py 我如何访问这个变量 您正在寻找modules In aaa py AA Foo In bbb py import aaa print aa
  • CPU Arch 的交叉编译或原生编译

    编写依赖于 CPU 架构的软件时 例如在 x86 上运行的 C 代码或在 ARM CPU 上运行的 C 代码 通常有两种方法可以编译此代码 要么交叉编译到 ARM CPU 架构 例如 如果您在 x86 系统上进行开发 要么将代码复制到本机架
  • H2161 警告:重复资源:类型 10 (RCDATA)

    我尝试将资源文件包含在我的包中 当我构建包时 我读到了这个警告 dcc32 Conseil H2161 Warning Duplicate resource Type 10 RCDATA ID PLUSUTILISEVOIR File Pr
  • Android 删除参数以匹配“intent()”

    我正在尝试开始第二个活动 但代码出现错误 import android os Bundle import android content Intent import android app Activity import android w
  • UIAlertView 第一个被弃用的 iOS 9

    我尝试了多种方法来使用 UIAlertController 而不是 UIAlertView 我尝试了多种方法 但无法使警报操作发挥作用 这是我的代码 在 IOS 8 和 IOS 9 中运行良好 但显示为已弃用的标志 我尝试了下面的优雅建议
  • 推荐在 java 中使用 WMI 的库/方法? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 嘿伙计 我有一个相当大的商业项目 因此付费许可始终是一种选择 该项目正在迁移到 Windows 空间 并且我计划使用 WMI 进行大量轮询 这是一个
  • 如何从现有代码创建 WordPress 短代码?

    我有这段代码来显示所有帖子的类别和第一篇帖子的缩略图 ul li li ul
  • 将具有常量值的列添加到pandas数据框中[重复]

    这个问题在这里已经有答案了 给定一个数据框 np random seed 0 df pd DataFrame np random randn 3 3 columns list ABC index 1 2 3 df A B C 1 1 764
  • 在静态方法中引用类而不使用其名称

    如何在 JavaScript 中不使用类名本身的情况下从静态方法引用类 类似于 PHP 的self and self method name 例如 在下面的类中 我如何引用该方法foo和方法bar里面的foobar method 不使用 F
  • 使用点后模板函数的特化将破坏编译

    考虑下一个例子 include
  • 预期响应代码 220,但在 Laravel 中收到代码“”,并带有消息“”

    我正在使用 Laravel Mail 功能来发送电子邮件 以下是我的app config mail php文件设置 driver gt sendmail host gt smtp gmail com port gt 587 from gt
  • 如何设置 AWS Cognito TOTP MFA?

    我正在尝试使用 AWS Cognito 设置 MFA 身份验证作为工作项目的小型概念证明 我已经成功通过短信发送的 MFA 代码获取了用户名和密码 工作正常 努力获得 TOTP 方法 如图所示用例 27使用我的小型登录应用程序 https
  • 如何将位图缓存到本机内存中

    为了获得 10 000 分 我决定为这个很酷的网站做出一些贡献 一种在本机内存上缓存位图的机制 背景 Android 设备为每个应用程序提供的内存量非常有限 堆范围从 16MB 到 128MB 具体取决于各种参数 如果超过此限制 则会出现
  • 使用向量.sort() 无效使用非静态成员函数

    我想使用 sort 函数根据其第一列对二维向量进行排序 但不幸的是 我通过传递 compareAscending 函数得到 无效使用非静态成员函数compareAscending 错误 我也尝试过将函数设为静态 但遇到了同样的问题 stat