0

我有一个将全局指针存储在数据结构中的方法,并在某些时候尝试将它们从数据结构中取出并返回它们。我希望能够返回它们,因为我知道它们没问题但编译器不允许我.它认为它们只是本地的,因为它们刚刚从数据结构中获取,但实际上我是从外部获取它们的。

提前致谢

4

1 回答 1

1

不; 编译器比你更清楚。您不能安全地返回不是 also 的局部变量的地址static。您可以将全局变量的地址作为函数的指针返回,但这似乎不是您想要做的。如果你这样做,请注意线程的后果(如果变量中的值发生变化,线程代码的后果是可怕的;如果它访问的是只读的——不可变的,不变的——值,这不是问题)。

听你的编译器;它试图保护你免受自己的伤害。它比你更了解 C++。

为了说服我们编译器是错误的,你必须展示你的代码——但你展示的内容不太可能是有效的。

于 2013-09-22T03:07:54.803 回答