C++ 存储对象的引用';从函数中接收的方法

C++ 存储对象的引用';从函数中接收的方法,c++,methods,C++,Methods,我能够将一个对象的非静态方法伪传递给另一个对象的函数。当我试图将该方法的引用存储到函数的对象中时,问题就出现了,我不知道怎么做 #include <iostream> #include <functional> class Dummy{ public: void runDummyArgs(int z){std::cout<<"TEST: "<<z<<std::endl;}; }; class Test{

我能够将一个对象的非静态方法伪传递给另一个对象的函数。当我试图将该方法的引用存储到函数的对象中时,问题就出现了,我不知道怎么做

#include <iostream>
#include <functional>

class Dummy{
public:
    void runDummyArgs(int z){std::cout<<"TEST: "<<z<<std::endl;};
};

class Test{
public:
   
    template<typename X , typename T>
    void runTest(X* obj, T(X::* func), int z) { (obj->*func)(z); }; 
    /* It works, but I would like to store (obj->*func) in this class as a reference to reuse it when it is needed. */
};

int main()
{
    Dummy *a = new Dummy();
    Test *b = new Test();
    b->runTest(a, &Dummy::runDummyArgs, 99);
    return 0;
}
#包括
#包括
类虚拟{
公众:

void runDummyArgs(intz){std::cout我将编写如下内容:

#包括
#包括
类虚拟{
公众:

void runDummyArgs(int z){std::是否要存储指向该单成员函数或任意类型的任何成员函数的指针?我应该指向任意类型的任何成员函数,因为发送方将是未知类。注意。旁注:您需要调整此示例以使其正常。未初始化的指针很糟糕。我应该放置哪些参数std::function?一般来说,在cpp文件中放入非琐碎的、特定于实现的详细信息。我的经验是,如果将来可能会对其进行修改,超过几行代码,或者需要引入额外的头文件,则可能应该将其从类定义中分离出来,并在不影响任何人的环境中实现其他。太棒了!!工作非常完美,这正是我需要的。可变值示例也很好!!!我没有找到任何解决方案…非常感谢!!!!!!
Test b([&a](int z){a.runDummyArgs(z);});
[&a]
(int z)
{a.runDummyArgs(z);}