Ada*_*lor 15 c++ compiler-warnings
这个警告有什么值得担心的吗?我读过它可能导致不稳定的行为?
这是我正在尝试编译的一个例子,有人可以向我解释为什么作者将对象声明为一个类但是然后将typedef表示为一个结构?如果课程是POD,这样做是否完全正常?
谢谢.
Dan*_*ull 25
如果您有一个与另一个相矛盾的类型声明(一个表示"class",另一个表示"struct"),则会出现此警告.给定一个定义规则,除最多一个之外的所有声明必须是前向声明.警告通常表明类型的前向声明是错误的,通常是一个简单的拼写错误,应该修复.在这种情况下,应该没有副作用,但你真的应该解决它.
但是,如果你有类型名称冲突(可能是由于使用"using namespace"子句或全局命名空间污染引起的),可能会发生一些非常令人讨厌的事情.这些警告可能表示您正在混合来自两个不同库的标头,并且类型名称有冲突.在这些条件下编译的代码可以做一些非常意外的事情.
我的建议 - 理解为什么警告出现并修复它.如果警告是在第三方产品中,请坚持要求他们修复它.