小编All*_*nus的帖子

分配值或回调函数的C ++重载模板

尝试做类似...

template <class T>
struct Wrapper
{
    template <class U>
    void set(const U& u) { myT = u; }

    template <class F>
    void set(F f) { myT = f(); }

    T myT;
};
Run Code Online (Sandbox Code Playgroud)

我知道我需要在这里使用SFINAE,但是如何区分回调参数和值参数呢?可以安全地假定一个值不能用作回调。

我试着enable_ifis_function, result_ofinvoke_resultis_invocable,和其他人,但没有它的作品的权利。可能吗

c++ templates c++17

7
推荐指数
2
解决办法
117
查看次数

标签 统计

c++ ×1

c++17 ×1

templates ×1