使用有静态成员变量的类,编译出现LNK2005多重定义错误,何解?
A.h:
______________________
#if !defined(A_H_INCLUDED_)
#define A_H_INCLUDED_
class A
{
public:
static BOOL m_bHasMsg;
BOOL HasNewMsg() { return m_bHasMsg;};
}
BOOL A::m_bHasMsg=FALSE;
#endif
______________________________
B.h
_______________________
#include "A.h"
class B
{
A *pa1;
A *pa2;
}
-------------------------------
A.obj : error LNK2005: "public: static int A::m_bHasNewMsg" (?m_bHasMsg@A@@2HA) already defined in B.obj