C++窗体问题

来源:百度知道 编辑:UC知道 时间:2024/06/30 20:15:44
Form2.obj : error LNK2005: "int 计算机::flag" (?flag@计算机@@$$Q3HA) already defined in 计算机.obj
Form2.obj : error LNK2005: "int 计算机::ch" (?ch@计算机@@$$Q3HA) already defined in 计算机.obj
Form2.obj : error LNK2005: "int 计算机::a" (?a@计算机@@$$Q3HA) already defined in 计算机.obj
Form2.obj : error LNK2005: "int 计算机::b" (?b@计算机@@$$Q3HA) already defined in 计算机.obj
什么意思???

变量重复定义了,你可能是把这些变量的实现写在头文件里引起的,你把他放到源文件里面定义就ok了。
譬如你头文件这样声明:
class CComputer
{
static int flag;
static int ch;
};
如果你把 int CComputer::flag = 0; 写在头文件,那么当n个源文件include这个头文件就会出上述的多重定义的链接问题。

没有把计算机.cpp加为到工程中