|
1
24
这似乎在新版本的GCC上得到了解决。
https://lkml.org/lkml/2006/11/28/253 不幸的是,我目前工作的嵌入式系统的最新编译器仍然基于GCC4.6。 |
|
2
16
参数与成员函数具有不同的类型这一事实并不影响该参数隐藏成员函数这一事实。
|
|
|
3
10
我不明白你为什么只坚持一些特定类型的阴影。阴影就是阴影,它的危险是相同的,即使类型不同,即使一个变量阴影一个函数,就像你的例子一样。隐藏的危险在于代码可能会做一些不同于其作者希望它做的事情。
我认为这是非常明显的,因为代码的阴影可能会做一些作者不打算做的事情。 |
|
|
4
7
它完全按照盒子上写的做。它警告你不要跟踪。
内部
一个
阴影
另一个的名称,所以在编写代码时
|
|
|
5
4
GCC >= 7
|
|
6
2
是的,我们可以调整这个警告,以警告只有当阴影可能是危险的。 int what()常量。。 但是对于局部变量阴影和上面的函子示例,警告。 更确切地说,当阴影可能是危险的,当代码编写器的意图可能不清楚时,发出警告。在int参数和成员函数同名的情况下,作者显然不希望在引用该参数时调用该成员。 我觉得这个阴影警告是一个好主意,非常有用,它只是需要更多的思考,不要警告完全安全和明确的情况。例如,我可以接受需要前缀之类的参数,但我更喜欢简洁明了的名称。 |
|
|
7
0
从 问题部分:
这只是一个错误;成员变量和方法不能同时具有相同的名称。 对于您的示例,提供工作界面的最小更改是:
|
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
MysteryMoose · GCC下故意忽略初始化器警告中的过量元素 1 年前 |
|
|
Ken P · 如何利用[*]printf格式类型规范警告? 1 年前 |
|
fghoussen · 在C结构体中,为什么打包、对齐似乎会进行填充? 1 年前 |
|
|
adversarr · 全局变量何时导出到可执行文件? 1 年前 |