C++语言 这里为什么不能用using namespace std;

 我来答
丑淳礼涵煦
2020-07-18 · TA获得超过3826个赞
知道大有可为答主
回答量:3160
采纳率:28%
帮助的人:399万
展开全部
std命名空间里面定义了很多程序员常用的名称(函数名、变量名、类名),只要一不注意就可能在程序中定义同名的东西,这样就会导致很难发觉的错误(编译器可能提示的是标准库内部的错误,实际上却是由用户的代码引起的)……
例如下面的代码在vs编译器上是不通过的:
#include
using namespace std;
template
void swap( t& a, t& b )
{
t l=a;a=b;b=l;
}
int main(){
int m=1,n=2;
double x=5.0,y=8.0;
swap
(m,n);
swap
(x,y);
}报错是error
c2668:
“swap”:
对重载函数的调用不明确
但是代码中看不出重载,实际上是因为标准库定义了相同名字的函数……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式