表达结果未使用

时间:2012-10-06 05:46:52

标签: iphone objective-c xcode4 expression

我有一些代码,我正在尝试修复一些编译错误:

StkFrames& PRCRev :: tick( StkFrames& frames, unsigned int channel )
{
#if defined(_STK_DEBUG_)
  if ( channel >= frames.channels() - 1 ) {
    errorString_ << "PRCRev::tick(): channel and StkFrames arguments are incompatible!";
    handleError( StkError::FUNCTION_ARGUMENT );
  }
#endif

  StkFloat *samples = &frames[channel];
  unsigned int hop = frames.channels();
  for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
    *samples = tick( *samples );

    *samples++; <<<<<<<<<--------- Expression result unused.

    *samples = lastFrame_[1];
  }

  return frames;
}

我不明白代码尝试做什么。代码很大,我修了很多。但谷歌搜索并没有为此工作。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

首先,你做一个增量(实际上给你警告的那一行)。

*samples++;

然后你将该变量分配给其他东西,这会使之前的动作不被使用。

*samples = lastFrame_[1];

我建议你仔细阅读'for'循环中的这段代码。它看起来不太符合逻辑。