我尝试找到如何从静态函数中获取非静态变量的方法?
在静态函数中,我想从非静态变量中获取值。
有可能吗?
class test {
private:
static void test();
string test;
}
答案 0 :(得分:1)
这是不可能的。静态成员函数只能访问静态类成员。如果您认为可以调用
,这也是有道理的test::test();
没有实例化对象。实际上,在执行上面的代码时,甚至可能没有单个类实例。
如果需要从静态成员函数访问非静态类成员,则需要将类实例传递给它,无论是指针还是引用。但是,当你这样做时,你也可以使静态成员函数非静态。
答案 1 :(得分:0)
你做不到。使用静态函数时,您处于静态上下文中。只能访问静态成员,其他成员不存在。