有三个文件:sale.h, sale.cpp, main.cpp
sale.h中定义namespace SALES
{
int test;
void func(void);
}
sale.cpp中接着完成namespace的函数定义
namespace SALES
{
void func(void)
{
*****
}
}
main.cpp的main函数之外,定义int test
编译结果是:编译器指示在sale.cpp中SALES::test重复定义
不明白这是为什么。
int test只能定义一次。
要看你这3个文件的包含关系。每次包含.h都有一次定义。
所以你要用#ifdef将这些定义包裹起来,防止重复定义。
http://wenku.baidu.com/link?url=H1fdaEzM9VMmdBabKP2I2hUZc5rtBqp3HOz0TPOT1xmu63rO0PJwFjm79bURbwf9D34CiwgliaunKVc0RCdiTrnxMChsXgNZop6q_b4EMtu
ps:以后提问把你的完整代码贴出来
头文件没写#ifdef xxxxxx
#define xxxx
code
#endif
吧
打开网页搜C++防重不包含