EDIT: 为避免混乱而删除的 C++ 位元
我有如此多的数据
int numSamples = 16;
float *lData = (float*)calloc(numSamples, sizeof(float));
...我想把这些数据 传递到一个功能 具有这样的定义。 。 。
void processSampleBlock (const float ** inputChannelData,
int numInputChannels,
...)
正如您所看到的, 此函数接受 2D 矩阵, 它可以有多个频道。 我的数据只有一个频道(1D), 但我可以通过做这样的投影来获取代码来进行精细的编译 。
processSampleBlock ((const float**)(lData),
1,
...)
然而,我在运行时遇到一个错误,然后在功能区块内代码试图在函数区块内删减数据。
for (int nn=0; nn< numSamples; ++nn)
{
float x = inputChannelData[0][nn]; //--> Computer says no
}
我对 C 风格的多维阵列毫无用处, 并且可能在这里犯了一个根本性错误。 任何帮助都会很好! 谢谢!