所以我在iOS的Objective C++中找到了此代码的错误
for(int i = (maxBin - 4), max = 0; i <= (maxBin + 3); i++) {
max += (fftValLeft[i] * fftValLeft[i]);
}
“max = 0;”不会发生。我将初始化移到了循环之前,现在一切都很好。
这是Xcode 4.6.3。这是正常的C行为吗?
最佳答案
您正在创建一个名为max的新变量,其作用域仅对for循环可见。
因此,一旦退出循环,在循环外部计算的最大值就不可见了。
希望能有所帮助。
关于ios - 用于循环多次初始化的Objective C++失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17246569/