我有一些代码,我正在尝试修复一些编译错误:
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;
}
我不明白代码尝试做什么。代码很大,我修了很多。但谷歌搜索并没有为此工作。
有什么想法吗?
答案 0 :(得分:0)
首先,你做一个增量(实际上给你警告的那一行)。
*samples++;
然后你将该变量分配给其他东西,这会使之前的动作不被使用。
*samples = lastFrame_[1];
我建议你仔细阅读'for'循环中的这段代码。它看起来不太符合逻辑。