多文件里声明namespace,namespace里的变量声明有关问题

多文件里声明namespace,namespace里的变量声明问题
a.h中声明了

namespace test{
static int a;
class AA{};
}

b.h中

namespace test{

extern static int a;
class BB :public AA{}
}


两个文件中的int a ,我想让它们是同一个变量,我还没编译,但编译器好像说不能让两个(extern和staic)一起修改这个变量,这怎么弄啊?

------解决方案--------------------
把两个 static 都去掉再试一下呢。
------解决方案--------------------
a.h里的static int a 扔到cpp里去即可
------解决方案--------------------
b.h中#include "a.h"

namespace test 里不需要声明int a,就能使用 int a