1

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

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

  extern char variable1;

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

char variable1 = 'N';  

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

  char variable1;

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

4

2 回答 2

2

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

于 2013-04-26T14:52:44.673 回答
0

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

于 2013-04-26T14:55:46.797 回答