我越来越熟悉 boost::singals2 并且在我的测试中,我正在尝试订阅一个类实例方法:
class MyClass
{
public:
void method(int n)
{
std::cout << "MyClass::method " << n << std::endl;
}
void method2(int n)
{
std::cout << "MyClass::method2 " << n << std::endl;
}
};
boost::signals2::signal<void(int n)> TestSignal;
MyClass myClass;
TestSignal.connect(myClass.method);
但是程序没有编译,我不明白如何订阅特定类实例的方法,这可能吗?当然,您可以将类方法包装在 std::function 和仿函数中,但我希望能够对类方法进行签名。
1 个回答