class A
{
}
class B
{
static A m_A;
}
在类B中怎么初始化 m_A???
7 个解决方案
#1
A B::m_A=A();
#2
A B::m_A=A();
#3
A B::m_A;
.
.
#4
不对啊,报private: static class A B::m_A" already defined in test.obj
以及fatal error LNK1169: one or more multiply defined symbols found
以及fatal error LNK1169: one or more multiply defined symbols found
#5
在类外初始化 A B::m_A=A();还有就是要写默认的构造函数
#6
我找到原因了,我是在头文件中A B::m_A或者A B::m_A=A(); 但是实现文件又包含了头文件一次,所以出现了重复,将A B::m_A或者A B::m_A=A()放在实现文件中即可! 汗!
#7
你是不是在头文件和.cpp的都定义了?
#1
A B::m_A=A();
#2
A B::m_A=A();
#3
A B::m_A;
.
.
#4
不对啊,报private: static class A B::m_A" already defined in test.obj
以及fatal error LNK1169: one or more multiply defined symbols found
以及fatal error LNK1169: one or more multiply defined symbols found
#5
在类外初始化 A B::m_A=A();还有就是要写默认的构造函数
#6
我找到原因了,我是在头文件中A B::m_A或者A B::m_A=A(); 但是实现文件又包含了头文件一次,所以出现了重复,将A B::m_A或者A B::m_A=A()放在实现文件中即可! 汗!
#7
你是不是在头文件和.cpp的都定义了?