问题标签 [global-variables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4842 浏览

objective-c - 将 NSString* 数组声明为全局外部时 Xcode 中的错误和警告

我在一个类的头文件中声明一个 NSString* 数组。
多边形形状.h

现在我在 PolyginShape.m 中使用它,如下所示:

numberOfSides 是一个 iVar,它将指示存储多边形名称的索引
到目前为止一切都很好......它正在编译没有任何错误

然后我在实现 main 方法的文件中添加了 PolygonShape.h(注意:这些没有任何类定义和调用函数 C-Style 而不是 obj-c Style)

现在当我编译时,我得到一个构建(链接)错误

所以我通过堆栈溢出和其他论坛,大多数建议是制作全局变量 extern,所以我做了......

但是,我仍然收到链接错误,并且现在还收到 2 个警告

在我导入 PolygonShape.h 的两个地方

我在这里想念什么?

谢谢。

0 投票
4 回答
55333 浏览

python - 为什么我不能在 Python 中设置全局变量?

全局变量在 Python 中是如何工作的?我知道全局变量是邪恶的,我只是在试验。

这在 python 中不起作用:

我收到一个错误:

我究竟做错了什么?

0 投票
1 回答
1158 浏览

objective-c - 如何为所有项目类型 NSArray 创建一个全局变量

我想知道如何创建一个全局变量类型 NSArray,我可以从 y 应用程序的任何类中使用(写入/读取数据)。

目前我正在使用 NSUserDefaults,但我认为这不是最好的选择,因为我正在保存一个相当大的 NSArray。

谢谢。

0 投票
8 回答
118416 浏览

c# - C# - Winforms - 全局变量

我希望一些变量在整个项目中都是全局的,并且可以以各种形式访问。我怎样才能做到这一点?

0 投票
4 回答
683 浏览

php - PHP 我可以在变量样本中放置一个全局变量吗: $names = $_FILES ["dfile"];

尝试在这里构建一个用于上传文本和图像的管理面板是 html 页面。Html 页面工作正常,它是损坏的 php 页面,html 仅供参考。

试图重命名上传的文件基于它们来自 html 页面 afile、bfile 等的表单。我已经尝试了这个 php 文件多种不同的方式。当我消除大型 IF 语句并制作 6 个单独的文件以供上传时,我可以让它工作,但我希望将其制作为一个文件这就是我认为它无法将全局变量移动到普通变量的原因?

也许我的 elseif 语句被破坏了?

我只玩这个 php 的东西大约一个星期,所以如果我在这里偏离了标记,很抱歉浪费你的时间。

也许如果我尝试使用全局变量创建 6 个函数而 move_uploaded_file($_FILES["file"]["tmp_name"], $target);不是将它们放在 elseif 语句中它可以工作?

这是工作 php 页面的副本

0 投票
4 回答
6796 浏览

c++ - 共享库项目中的全局变量问题(C++)

我在 C++ 共享库项目中遇到全局变量问题。我的库必须作为标准 g++ 共享库 (.so) 以及 dll 工作。我通过创建文件 libiup_dll.cpp 和 libiup_dll.h 来做到这一点,我有类似的东西

在我的 dll 中,我需要函数 setloglevel(int) 和 geterrormsg()。在我的所有课程中,我会将所有错误消息附加到全局变量 errormsg 中。然后应该由 geterrormsg() 函数返回此变量。我通过使用实现了这一点

在 libiup_dll.h (外部和#ifdefs,所以它应该是全局可用的),然后把

在我的班级的 .h 文件中(在班级之外,在文件的顶部)

现在我有两个问题:

1) 使用我的库使用 g++ 编译命令行程序时,出现错误

构建目标:libiup_test 调用:GCC C++ Linker g++ -L"/home/hilboll/src/libiup/Release" -L/usr/local/lib -o"libiup_test" ./src/stratcalc/SimpleStratosphericColumnCalculatorTest.o ./src/ interp/SimpleInterpolatorTest.o ./src/Test.o -lgsl -lhdf5 -lhdf5_cpp -lblas -liup /home/hilboll/src/libiup/Release/libiup.so: undefined reference to loglevel' /home/hilboll/src/libiup/Release/libiup.so: undefined reference toerrormsg' collect2: ld 返回 1 退出状态 make : *** [libiup_test] 错误 1

即使在我的命令行程序中,也没有任何对 errormsg 或 loglevel 的引用。

2)当试图用VS2008在windows下编译dll时,我得到了

z:\src\vs\libiup_dll\libiup_dll.h(229) : 错误 C2086: 'std::string errormsg': Neudefinition z:\src\libiup\src\stratcalc../interp/SimpleInterpolator.h(16): Siehe Deklaration von 'errormsg' z:\src\vs\libiup_dll\libiup_dll.h(234) : error C2086: 'int loglevel': Neudefinition z:\src\libiup\src\stratcalc../interp/SimpleInterpolator.h( 17): Siehe Deklaration von 'loglevel'

据我了解,这意味着 VS 认为我将这两个变量定义了两次。但是,在 SimpleInterpolator.h 16/17 中,只有 extern 声明......

似乎我还没有理解全局变量是如何工作的。任何帮助是极大的赞赏!

0 投票
2 回答
7048 浏览

objective-c - 尝试访问应用程序委托变量/属性

我正在使用我的应用程序委托的变量/属性作为全局变量。(我不想处理单例类。)

我正在尝试在我的 Application Delegate 类中编写 #define 语句。如果我输入:

在我的应用委托类中,代码提示无法识别 sharedApplication。但是,如果我在 viewController 类中键入相同的内容,“sharedApplication”会立即弹出。

为了在我的 applicationDelegate.h(或 .m?)中定义一个 NSMutableDictionary,我写:

然后,如果我尝试在另一个类中使用它:

我收到一个错误,必须首先声明 MyDictionary。我真的对这里的很多概念感到困惑。

0 投票
3 回答
2706 浏览

php - 如何制作全局可访问的对象

嗨,我有一些类的集合,其中一些应该是全球可访问的。

我在 Zend_Registry 中发现了类似的东西,但是阅读它的代码我无法理解对静态函数的调用如何返回一个类的初始化实例......

我需要做类似的事情:

在这里,我过滤了 Request 对象,我希望控制器能够访问已过滤的请求。

我不知道如何实现 Application::getResource(),我唯一知道的是它必须是静态方法,因为它不能与特定实例相关。

0 投票
3 回答
1974 浏览

dependency-injection - 全局状态和单例依赖注入

这是我在设计新应用程序时经常遇到的问题。我将使用一个示例问题来解释这一点。

我正在写简单的游戏,所以我想保存一个玩家列表。我有几个选择...

  1. 在某个类中使用静态字段

但这是一个全球状态

  1. 或者我可以使用单例

但这很糟糕,因为它是单例

  1. 依赖注入

这看起来不错,但事实并非如此。

如果需要查看 Game 之外的任何对象PlayerList(这是通常的情况) ,我必须使用上述方法之一来使 Game 类全局可用。所以我只是为问题添加了另一层。我实际上并没有解决任何问题。

最佳解决方案是什么?(目前我使用单例方法)

0 投票
6 回答
21736 浏览

javascript - 按下浏览器重新加载按钮时防止变量丢失

重新加载页面时是否可以保留我的(全局)变量?如果是,如何?

谢谢你的帮助。此致。