#ifndef TEST_H_
#define TEST_H_
namespace HW
{
void fun(
void);
}
#endif
#include"fun.h"
void HW::fun(
void)
{
}
#include<iostream>
#include"fun.h"
int main(
int argc,
char **argv)
{
HW::fun();
return EXIT_SUCCESS;
}
#ifndef TEST_H_
#define TEST_H_
namespace HW
{
void fun();
}
#endif
#include"fun.h"
using namespace HW;
void fun()
{
}
#include<iostream>
#include"fun.h"
int main(
int argc,
char **argv)
{
HW::fun();
return EXIT_SUCCESS;
}
以上是namespace的常用写法,namespace是用来限定作用域,只有调用了using namespace才可使用该命名区域内的成员,当不同头文件中创建了相同的命名空间,有以下两种情况: 1)名字空间名称相同,成员名字不同,那么他们会自动合并为一个名字空间,可以理解为追加 2)名字空间名称相同,成员名称相同。那么程序会在调试过程的link时报错。因为连接器会检测到重复定义的变量。
转载请注明原文地址: https://ju.6miu.com/read-3687.html