作为参数传递给静态函数时,是否可以通过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);
}
最佳答案
如果要在args
中将BarArgs
用作指向Retry
的指针,则必须在调用它时传递变量的地址,如下所示:Retry(&barArgs);
然后就可以了。
关于c++ - 通过此指针从静态函数调用类函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27256401/