情形如下:
做项目或者写程序时我们不想把函数、变量等封装到类中,就想把它们直接声明成光杆数据。
A.h
void show();
B.h
void show();
C.h
#include"A.h"
#include"B.h"
上述情况会出现编译时错误: 函数show重定义
解决办法:
将函数放到命名空间里去,代码示例是这样的
A.h
namespace
{
void show();
}
B.h
namespace
{
void show();
}
C.h
#include"A.h"
#include"B.h"
void test()
{
A::show();
B::show();
}
如有问题还请指正。谢谢。