文章目录
C++学习04-命名冲突和命名空间
命名冲突
举一个小例子:
假设您是第一次开车去朋友家,给您的地址是 Mill City 的 245 Front Street。到达米尔城后,您拿出地图,却发现米尔城实际上有两条不同的前街,彼此隔着城镇!你会去哪一个?除非有其他线索可以帮助您做出决定(例如,您记得他的房子在河边),否则您必须打电话给您的朋友并询问更多信息。因为这会令人困惑且效率低下(尤其是对于您的邮递员),所以在大多数国家/地区,城市内的所有街道名称和房屋地址都必须是唯一的。
类似地,C++ 要求所有标识符都没有歧义。如果以编译器或链接器无法区分的方式将两个相同的标识符引入同一个程序,编译器或链接器将产生错误。此错误通常称为命名冲突(或命名冲突)。
上段例子引用自cpp-tutorial-2.8
下面再举一个实际函数中的例子
a.cpp
#include <iostream>
void myFcn(int x)
{
std::cout << x;
}
main.cpp
#include <iostream>
void myFcn(int x)
{
std::cout << 2 *</