visual c ++中的全局变量

时间:2013-04-26 14:45:22

标签: c++ winforms visual-studio

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

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

  extern char variable1;
class1.cpp中的

我声明了相同的变量:

char variable1 = 'N';  
在class2.cpp中的

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

  char variable1;

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

2 个答案:

答案 0 :(得分:2)

没有char variable1;

extern不是声明,它是定义。这意味着您定义 > class2.cppclass1.cpp中的变量,这是非法的。仅在一个.cpp文件中定义它。然后,其他.cpp文件应#include包含声明的标头,这将使他们能够访问变量。

答案 1 :(得分:0)

如果你在class1的cpp文件中声明extern char variable1;,并在class2中定义char variable1;,你应该能够做你想做的事。