我已经研究这个问题一段时间了。我只是想将一个字符值从一个类传递到另一个类
在我的头文件中我声明了一个变量:
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.cpp
和 class1.cpp
中重新定义变量,这是非法的。仅在一个 .cpp 文件中定义它。其他 .cpp 文件应该 #include
包含声明的 header ,这将使它们能够访问变量。
关于c++ - Visual C++ 中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16239240/