未来老干部 2021-09-24 14:02 采纳率: 0%
浏览 27

std::function参数都是const,注册非const参数的函数编译不报错

定义 function的时候参数都是const,注册函数的时候,注册的非const参数的函数居然也能编译通过,不报错, 有人知道原因吗

img


使用见下图

img

函数注册代码

        void registerUserFunc(const user::PROTOID id, const types::UserFunc cb)
        {
            userRegFuncs_[id] = std::move(cb);
        }

编译器 gcc4.8.5

编译参数

 -Wall
 -Wextra
 -Werror
 -Wconversion
 -Wno-unused-parameter
 -Wold-style-cast
 -Woverloaded-virtual
 -Wpointer-arith
 -Wwrite-strings
 -std=c++11

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-09-24 14:10
    关注

    这个方向可以,反向应该不行

    评论

报告相同问题?

问题事件

  • 创建了问题 9月24日