我正在尝试使用this过滤器库,并从以下代码段中获取未经检测的修改警告。
while (--numSamples >= 0)
*dest++ = state.process(*dest, *this);
在SO上查看类似问题是有道理的,因为在同一命令中修改和访问了dest。所以,我想预期的功能如下。 。
while (--numSamples >= 0) {
*dest = state.process(*dest, *this);
*dest++;
}
但是,这为后增量提供了一个新的,更好奇的警告“警告:表达结果未使用”。为什么会出现这个新警告,以及我该如何正确解决这个问题?
答案 0 :(得分:6)
*dest++
增加dest
,并取消引用dest
的先前值。增量是您想要的副作用,取消引用无效。只需将其写为dest++
(或++dest
)。