.h中
namespace st{
int b;
}
int b;属于声明并定义,而在.h的命名空间中只能放声明,.h被引用多少次,int b就声明和定义了几次,为了解决这个问题,有如下解决方法:
方法一:
//头文件
namespace JNLDD {
int getb();
int setB(int b);
}
//源文件
namespace JNLDD {
// int m_tb;
static int m_tb;//师父说此处加上static会更显专业
int getb()
{
return m_tb;
}
int setB(int b)
{
m_tb = b;
return m_tb;
}
}
//调用的时候
qDebug()<<"mian click"<<JNLDD::setB(m_ncount);
qDebug()<<"new data"<<JNLDD::getb();