当作为参数传递给静态函数时,是否可以通过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);
}
答案 0 :(得分:0)
如果您想在args
中引用BarArgs
作为指向Retry
的指针,则必须在调用时传递变量的地址:Retry(&barArgs);
然后它应该工作正常。