首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于同名解决办法

2012-02-21 
关于同名ints0voidfunc(){classs{......}sa//前面不需要加class::s3}但为什么下面的代码:intf(int)

关于同名
int   s   =   0;

void   func()
{
class   s
{
......
};
s   a;   //前面不需要加class
::s   =   3;
}
但为什么下面的代码:
int   f(int);

class   f
{
......
};

class   f   g;   //前面必须有class
为什么不是像第一段代码一样,调用函数时用::f(int);区别

[解决办法]
原来那个例子里面有名字空间的问题,先s a;查找小范围(函数中)的名字空间,可以解释完成解释

后面那个例子里面都是处于global的范围内,不明确什么是什么是不可以的

同样

int f = 0;

class f
{

};

f g;
也会报错

热点排行