C ++:如何从静态函数写入全局变量

时间:2017-01-26 15:49:34

标签: c++

我想访问一个变量(通过ctypes),这个变量应该是静态void函数的结果,它正在监听广播。

那么如何从静态函数中获取信息,除非使用" return"声明?

编辑:

以下是我的意思的示例代码:

class Foo{

int bar;

static void listener(){

bar = 3;

}

main(){
    listener();
    }

}

2 个答案:

答案 0 :(得分:1)

静态方法只能访问静态成员:

class Foo {
    static int bar;
public:
    static void listener() { bar = 3; }
};

int Foo::bar = 0;

int main()
{
    Foo::listener();
}

答案 1 :(得分:1)

您可以将变量声明为static

class Foo {

public:
   static int bar;

   static void listener() {

       bar = 3;
   }
};


int Foo::bar = 0;

main() {
    Foo::listener();
    }
    // now use Foo::bar. It's value is 3.
}

首先,所有人都可以修改变量public static,而不仅仅是Foo::listener