c++成员函数指针作为模板参数要咋实现
在C++里,调用成员函数不能脱离对象。你想要的应该是这样:class Foo { public: void foo(int i) { ... }};template\u0026lt;typename T, typename F\u0026gt;void Bar(T obj, F f, int i) { (obj.*f)(i);}int main() { int i = 0; Foo obj; Bar(obj, \u0026amp;Foo::foo, i); return 0;}
■网友
你可以这样试试。#include\u0026lt;iostream\u0026gt;#include\u0026lt;functional\u0026gt;using namespace std;class C{public: static void f(int i) { cout \u0026lt;\u0026lt; i \u0026lt;\u0026lt; endl; } void b(int i) { cout \u0026lt;\u0026lt; i \u0026lt;\u0026lt; endl; }};template \u0026lt;typename F\u0026gt;void fun(F f, int i){ f(i);}int main(){ int i = 233; // 1 fun(C::f, i); // 2 C c; auto b = std::bind(C::b, \u0026amp;c, std::placeholders::_1); fun(b, i); // 3 auto d = (int i) { C c; c.b(i); }; fun(d, i); return 0;}
■网友
【c++成员函数指针作为模板参数要咋实现】 static
■网友
成员函数指针没有对应对象,怎么运行?
推荐阅读
- 非计算机专业想要利用课余时间深入自学C++,想要找到比较体面的工作大概需要啥水平
- Java工程师和C++工程师在工作上有啥区别哪个更适合自身发展
- 汽车驾驶|长安汽车UNI星球升级 新成员UNI- K报道
- 汽车知识|吉利又迎新成员,全系搭2.0T引擎,配12.3英寸双联屏,11.37万
- |江苏省发改委副主任、党组成员祁彪接受审查调查
- C语言指数函数代码
- 单例模式static函数必须在头文件中实现么
- C、C++、java等编程语言都有哪些坑
- 江苏省|江苏发改委副主任、党组成员祁彪接受纪律审查和监察调查
- c++写http服务器不用cgi和apache该用啥
