C++ 通过此指针从静态函数调用类函数

C++ 通过此指针从静态函数调用类函数,c++,C++,当作为参数传递给静态函数时,是否可以通过this调用类函数 这就是在类Foo中调用函数的方式 Foo::Bar(this, NULL); 这是我希望通过在参数结构中传递This来调用它的方式: void Foo::someFunction() { BarArgs barArgs; barArgs.context = this; ... Retry(barArgs); } static void Retry(LPVOID args) { BarArgs

当作为参数传递给静态函数时,是否可以通过
this
调用类函数

这就是在类Foo中调用函数的方式

Foo::Bar(this, NULL);
这是我希望通过在参数结构中传递
This
来调用它的方式:

void Foo::someFunction()
{
    BarArgs barArgs;
    barArgs.context = this;
    ...
    Retry(barArgs);
}

static void Retry(LPVOID args)
{
    BarArgs *pstBarArgs = (BarArgs *)args;
    (pstBarArgs->context)->Bar(pstBarArgs->context, NULL);
}

如果要在
Retry
中引用
args
作为指向
BarArgs
的指针,则调用变量时必须像这样传递该变量的地址:
Retry(&BarArgs)

然后它应该可以正常工作。

重试(barArgs)传递地址:
重试(&barArgs)