c++ - Visual C++ 中的全局变量

标签 c++ winforms visual-studio

我已经研究这个问题一段时间了。我只是想将一个字符值从一个类传递到另一个类

在我的头文件中我声明了一个变量:

  extern char variable1;

在 class1.cpp 中我声明了相同的变量:

char variable1 = 'N';  

在 class2.cpp 中我声明了相同的变量:我没有初始化它,因为 Y/N 所需的逻辑在 class1.cpp 中

  char variable1;

我对这将如何工作的假设是,我将通过逻辑将其设置为 Y 或将其保持为 N,如在 class1 中初始化的那样,一旦函数完成,我将单击表单上的按钮以继续到下一个类,因为它们都具有相同的名称,并且文件名在带有关键字 extern 的头文件中,所以它会来回传递值,我的想法是错误的吗?我对 Visual C++ 还是个新手,所以我只是想学习。

最佳答案

char variable1; 没有 extern 不是声明,它是定义。这意味着你'在 class2.cppclass1.cpp 中重新定义变量,这是非法的。仅在一个 .cpp 文件中定义它。其他 .cpp 文件应该 #include 包含声明的 header ,这将使它们能够访问变量。

关于c++ - Visual C++ 中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16239240/

相关文章:

c++ - 使用 QPixmap::load( ) 读取 GeoTiff 时的 TIFFReadDirectory 警告

c++ - 使用模板更精确的诊断错误消息?

c# - TreeView 文件夹结构有异常

visual-studio-2010 - Visual Studio 2013是否与2010项目兼容?

visual-studio - Visual Studio 2012 完全支持 <random>

c# - 在两个项目之间传递值

c++ - 确定没有 EXIF 数据的图像之间的停止差异

C++ 排序类比 qsort 更快

c# - 是否可以从 PropertyGrid 中隐藏枚举值?

c# - 加载列表框的正确方法是什么?