【发布时间】:2019-11-22 21:31:50
【问题描述】:
我在 static 类方法中有一个 lambda 函数,如下所示:
void
MyClass::foo() {
auto my_lambda = [](int arg) {
// do stuff
}
}
其中foo 是MyClass 的静态方法。现在,在my_lambda 内部,我想引用MyClass 的另一个静态方法bar。我怎样才能做到这一点?我见过this question,但似乎这只适用于非静态方法,因为静态方法不能引用this?
【问题讨论】:
-
我该怎么做?就像你在其他任何地方一样。
ClassName::StaticFunctionName(Parameters); -
您实际尝试了什么?只需调用
bar即可按预期工作,因为它是一个静态方法。无需捕捉任何东西。 -
标题与内容不匹配..静态方法是全局函数,静态变量有点不同,但都可以通过名称获得?
-
您不需要
this来访问静态方法。所以简单地捕捉正常的方式。