C++ visual c中的全局变量++;
我一直在研究这个问题有一段时间了。我只是想把一个字符的值从一个类传递到另一个类 在头文件中,我声明了一个变量:C++ visual c中的全局变量++;,c++,winforms,visual-studio,C++,Winforms,Visual Studio,我一直在研究这个问题有一段时间了。我只是想把一个字符的值从一个类传递到另一个类 在头文件中,我声明了一个变量: extern char variable1; char variable1 = 'N'; 在class1.cpp中,我声明了相同的变量: extern char variable1; char variable1 = 'N'; 在class2.cpp中,我声明了相同的变量:我不初始化它,因为Y/N所需的逻辑在class1.cpp中 char variable
extern char variable1;
char variable1 = 'N';
在class1.cpp中,我声明了相同的变量:
extern char variable1;
char variable1 = 'N';
在class2.cpp中,我声明了相同的变量:我不初始化它,因为Y/N所需的逻辑在class1.cpp中
char variable1;
我对这将如何工作的假设是,我将通过逻辑将其设置为Y或保留为N,正如在class1中初始化的那样,一旦函数完成,我将单击表单上的按钮转到下一个类,因为它们都具有相同的名称,并且文件名在头文件中带有关键字extern,它将传递va我的想法是错误的,我的想法是错误的,我还是新的VisualC++,所以我想学习。<> >代码> char变量,< /COD>没有<代码> ExtNe/Cuff>不是一个声明,它是一个定义。这意味着你在<代码> Copy2.CPP<代码>和<代码> Calp1.1.CPP<代码>中定义变量。这是非法的。只定义一个变量。.cpp文件。其他.cpp文件应该
#包括包含声明的头,这将使它们能够访问变量。如果您在class1的cpp文件中声明extern char variable1;
,并在class2中定义char variable1;
,您应该能够做您想要做的事情。我认为我们需要更多详细信息ils,事实上还不清楚当你在class2.cpp中再次声明变量时,你不是有一个构建错误吗?你所要做的就是在class2.cpp中包含头并只定义一次变量(你已经在class1.cpp中这样做了)。我不确定您还需要什么。我一直在读的是,您需要将头文件中的变量声明为extern,然后在计划使用该变量的所有.cpp类中再次声明该文件。只看如何实际传递数据,目前它没有在两个类之间传递。为什么要标记它winforms
?另外,如果您只是使用variable1
来表示是/否状态,那么bool
可能更合适。这是我的问题。我对传递变量的理解不太正确,谢谢大家!@Criel只是想澄清一下-您没有在任何地方传递任何内容。您的数据库中只有一个全局变量传递意味着给函数一个参数,通常比共享全局状态更好。