Rei*_*ica 6 c++ gcc warnings friend
我有一些代码,它使用预处理程序繁重的框架来生成一些实用程序类.显然,一些宏导致在friend类中包含两次相同的声明,如下所示:
class Friendly {
// :::
friend class Bestie;
friend class Bestie;
// :::
};
Run Code Online (Sandbox Code Playgroud)
使用gcc(4.8.1)构建时,会生成类似的警告
Bestie已经是Friendly[默认启用] 的朋友
我真的不能在这个警告中看到用处.我很好奇为什么它首先包含在gcc中.但是,由于SO社区几乎无法回答这个问题,我将这样说出这样一个问题:重复声明会产生什么问题friend,或者程序员错误可能会出现这种情况?
我能想到的唯一一个可能暗示的问题是"你可能打算在这里写下别的东西而不是同样的东西,所以我会有所帮助警告你." 但是,在这种情况下,预期的友谊将会丢失,这将导致执行友谊的代码中出现 "访问控制违规" 错误,因此我看到警告本身很少使用.
我有什么潜在的问题吗?
我认为多次声明你的朋友类是没有用的。我认为这是一个已报告的错误,并且我认为他们已经提供了解决方法。最好立即在班级中声明一个朋友,并避免以后重复。还要检查这个
我认为这个警告只是告诉用户他已经多次编写了多余的代码,没有任何用处。否则我认为这个警告没有任何用处。这就是为什么大多数程序员将其报告为错误的原因。
| 归档时间: |
|
| 查看次数: |
351 次 |
| 最近记录: |