我已经在这个问题上工作了一段时间了。我只是想将一个字符值从一个类传递到另一个类
在我的头文件中,我声明了一个变量:
extern char variable1;
class1.cpp中的我声明了相同的变量:
char variable1 = 'N';
在class2.cpp中的我声明了相同的变量:由于Y / N所需的逻辑在class1.cpp中,我没有初始化它
char variable1;
我对这将如何工作的假设是我会通过逻辑将其设置为Y或将其保留为在class1中初始化的N,一旦函数完成,我会单击表单上的按钮去到下一个类,因为它们都有相同的名称,文件名在头文件中,关键字为extern,它会来回传递值,是我的想法错了吗?我还是视觉c ++的新手,所以我只是想学习。
答案 0 :(得分:2)
char variable1;
的 extern
不是声明,它是定义。这意味着您定义 > class2.cpp
和class1.cpp
中的变量,这是非法的。仅在一个.cpp文件中定义它。然后,其他.cpp文件应#include
包含声明的标头,这将使他们能够访问变量。
答案 1 :(得分:0)
如果你在class1的cpp文件中声明extern char variable1;
,并在class2中定义char variable1;
,你应该能够做你想做的事。