Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个将全局指针存储在数据结构中的方法,并在某些时候尝试将它们从数据结构中取出并返回它们。我希望能够返回它们,因为我知道它们没问题但编译器不允许我.它认为它们只是本地的,因为它们刚刚从数据结构中获取,但实际上我是从外部获取它们的。
提前致谢
不; 编译器比你更清楚。您不能安全地返回不是 also 的局部变量的地址static。您可以将全局变量的地址作为函数的指针返回,但这似乎不是您想要做的。如果你这样做,请注意线程的后果(如果变量中的值发生变化,线程代码的后果是可怕的;如果它访问的是只读的——不可变的,不变的——值,这不是问题)。
static
听你的编译器;它试图保护你免受自己的伤害。它比你更了解 C++。
为了说服我们编译器是错误的,你必须展示你的代码——但你展示的内容不太可能是有效的。