c++ - 将指向方法的指针传递给模板类
问题描述
我想创建一个模板类,它的构造函数接受一个对象指针和一个指向对象方法之一的指针。下面的代码无法编译。什么是正确的语法?
template <class Obj, typename Method>
class Foo
{
public:
Foo(Obj *obj, Method method)
:mObj(obj), mMethod(method)
{}
void callMethod()
{
mObj->mMethod();
}
private:
Obj* mObj;
Method* mMethod;
};
class Bar
{
public:
void method() {}
};
我在 Foo 构造函数上收到此错误:
error C2440: 'initializing': cannot convert
from 'void (__thiscall Bar::* )(void)'
to 'void (__thiscall Bar::* *)(void)'
解决方案
推荐阅读
- apollo-link-state - apollo-link-state 默认使用嵌套对象
- ios - CollectionViewCell里面的UIViewController内存问题
- javascript - 我希望能够用未填充的星形图标(far fa-star)切换填充的星形图标(fas fa-star)
- python - dask client.submit 的行为
- java - FileOutputStream throws FileNotFoundException
- scrapy - 找不到模块scrapy.selector
- docker - How to connect to local docker daemon?
- drools - 哪个是管理流口水业务规则的最佳 UI 选项?
- java - SpringBoot 防止“端口在使用中”
- math - 找到最小标准偏差的最佳方法