我在一个对话框中对一个变量进行赋值,在另一个对话框中也要用到这个变量,那么这个变量应该如何声明?
    我写了一个var.h的文件,让这两个对话框的.cpp文件都包含这个var.h文件,编译时没有错误,但是一运行就出现下面的错误,是怎么回事?各位帮帮忙吧!
testDlg.obj : error LNK2005: "int  flagconnect" (?flagconnect@@3HA) already defined in NetworkDlg.obj
Debug/test.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.

解决方案 »

  1.   

    把这个变量声明成公共成员变量。CDialog1 dlg1CDialog2 dlg2dlg2.m_Data = dlg1.m_Data另一个问题是重复定义错误,不要把定义放在头文件中,头文件只管声明,把定义放在Cpp中
      

  2.   

    把变量声明放在一个.cpp中,在.h文件中用extern再次声明这个变量
      

  3.   

    将这个变量声明成全局变量,
    在.h文件中用extern声明,
    在.cpp中定义并且赋值,
    在另一个.cpp文件中就可以用了