C++这段代码为什么局部变量的命名空间引用没有产生歧义,而全局变量的命名空间却产生歧义了?
C++这段代码为什么局部变量的命名空间引用没有产生歧义,而全局变量的命名空间却产生歧义了?//例如以下代码,同样是usingnamespaceA;为什么局部变量正常,到了...
C++这段代码为什么局部变量的命名空间引用没有产生歧义,而全局变量的命名空间却产生歧义了?
//例如以下代码,同样是 using namespace A; 为什么局部变量正常,到了全局变量就产生歧义了?(编译器报错)
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <fstream>
#include <direct.h>
#include <strstream>
using namespace std;
namespace A
{
int a;
}
using namespace A;
int a=11;
int b=a;//为什么产生歧义?
int main(void)
{
using namespace A;
int a=11;
int b=a;//为什么产生正常?
getch();
return 0;
} 展开
//例如以下代码,同样是 using namespace A; 为什么局部变量正常,到了全局变量就产生歧义了?(编译器报错)
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <fstream>
#include <direct.h>
#include <strstream>
using namespace std;
namespace A
{
int a;
}
using namespace A;
int a=11;
int b=a;//为什么产生歧义?
int main(void)
{
using namespace A;
int a=11;
int b=a;//为什么产生正常?
getch();
return 0;
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询