c++问题,联合和结构里面的成员会和同一作用域里面的相同名字的变量发生冲突吗?

 我来答
百度网友8ce788f
推荐于2016-02-15 · TA获得超过688个赞
知道小有建树答主
回答量:850
采纳率:80%
帮助的人:228万
展开全部
不会冲突 。
假设
struct A
{int a;};
void f()

A s;
int a;//这样是没有问题的
int s //这样不行 。
可以跟结构体的成员重名 不能跟结构体重名
更多追问追答
追问
如果是匿名联合呢?
追答
不出意外应该是不能的 。这是c11的功能,没怎么用过 。一般都尽量避免这种重名的情况
zjfaok
2015-11-24 · TA获得超过6807个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1742万
展开全部


struct T {
    int x;
    static int x; //  错误:重名
};

但是类成员所在的作用域是“类作用域”,只有花括号里面的东西才有可能跟它在同一个作用域

struct T {
    int x;
};
int x; // 跟 T::x 并不在同一个作用域
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式