从-Weffc ++中抑制一个警告

时间:2013-07-04 00:36:11

标签: c++ gcc gcc-warning weffc++

添加-Weffc ++标志已经在我的代码中捕获了2个真正的错误,所以我想留下它。不幸的是它会导致以下内容:

record-set.h:60:7: warning: ‘class RecordSet’ has pointer data members [-Weffc++]
record-set.h:60:7: warning:   but does not override ‘RecordSet(const RecordSet&)’ [-Weffc++]
record-set.h:60:7: warning:   or ‘operator=(const RecordSet&)’ [-Weffc++]

警告是准确的。 RecordSet基本上是匹配规则的std::vector< Record >的子集。 (我实际上指的是包含它的数据结构,以及Record具有哪些字段的定义。)它有指针数据成员,因为当我更新记录时,我需要更新原始数据。

https://github.com/c42f/tinyformat/pull/4提供了将必要的函数声明为私有的概念,然后不使用它们。不幸的是我做了一些事情,比如从一个函数返回一个RecordSet,所以我需要复制构造函数来实际存在默认行为。

理想的是找到某种内联评论,告诉gcc是的,真的,我想要一个例外,但请警告我其他任何错误。

接下来最好是编写我自己的两个函数版本,这些函数完全符合默认值。遗憾的是,我对自己完全正确的能力没有信心。有人能指出我一个典型的例子吗?

当然,最简单的方法是关掉这个标志。但鉴于它为我捕获了真正的错误,我想避免这种情况。

0 个答案:

没有答案