C++ 指向成员函数的指针作为模板默认参数

标签 c++ templates arguments function-pointers

有可能吗,像这样:

template< typename C,
          typename R,
          typename A,
          typename F=R (C::*)(A) >
class MemberFuncPtr { ...

最佳答案

是的,这是完全有效的。

class X {
public:
    void Y() {
    }
};

int main() {
    MemberFuncPtr<X, void, void> func;
}

构建成功。

关于C++ 指向成员函数的指针作为模板默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4450246/

相关文章:

c++ - 具有2个模板参数的C++类,具有1个参数的函数

c++ - 解决-错误C2440 : 'initializing' : cannot convert from 'LinkedList *' to 'LinkedList'

c++ - Qt:如何在点击按钮时打开一个新的主窗口并删除原来的主窗口?

c++ - C++ 运行时更改操作

javascript - 关于 JavaScript 的 slice 和 splice 方法的问题

c++ - 如何让mini xml数据的呈现更具可读性?

c++ - C++11 中的别名结构

c++ - 在 C++ 中实现 'bounded genericity'

powershell - Powershell不会将变量扩展为参数

function - Haskell:带有函数参数的箭头优先级