stophin 2024-06-05 09:50 采纳率: 37.5%
浏览 6
已结题

lambda如何在某个命名空间或者类中

请问如何让lambda在某个命名空间或者类中
定义一个map<int, FUNC>
其中FUNC为
int (ClassA::*)(int)
这样传入的FUNC就必须在ClassA中已经定义,但有时候不想定义函数,直接使用lambda则会报类型不匹配
我尝试使用namespace来解决,但当前状况是这个map就是在ClassA中使用的,如果在定义同名ClassA的namespace
则会报namespace ClassA不是类型名
那如何让lambda包裹在命名空间或者类ClassA中呢?

  • 写回答

3条回答 默认 最新

  • Loup&卡普 2024-06-05 22:25
    关注

    你这个 FUNC 已经是 a 类的成员函数类型了
    写 lambda 是不可能匹配上的
    可以用 std function , std bind 那些

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月14日
  • 已采纳回答 6月6日
  • 创建了问题 6月5日