求问关于“找到一个或多个多重定义的符号”的有关问题

求问关于“找到一个或多个多重定义的符号”的问题
namespace.h
namespace kk{
 int a;

};



namespace.cpp
#include"ns.h"






main.cpp

#include"ns.h"




int main(){


}



晕死,就这样子编译也会出错,请问我错在哪里啊
------解决方案--------------------
多个源文件内不能有同名的全局标识
所以不能在头文件内定义全局变量和函数,只能定义静态变量和内联函数因为它们不是全局的——除非这个头文件只被一个源文件包含
------解决方案--------------------
定义的地方也要加上namespace kk

用的时候 kk::d()
------解决方案--------------------

namespace kk
{
    void d(void)
    {
        //
        //
    }
}

------解决方案--------------------
因为你的变量定义放在了头文件中.

变量声明尽量放到cpp中, 头文件中只放置一个extern开头的声明.