我不明白這是什麼意思:錯誤:返回類型是一個不完全類型
error: return type is an incomplete type"
我只是想返回結構。我分開了兩個音頻通道,我想使用唯一的函數使用結構返回它們。
的main.c:
#include "functions.h"
...
struct LandR sepChannels_8(unsigned char *, unsigned long, unsigned char *, unsigned char *);
...
int main()
{
...
sepChannels_8(ptrSamples_8, n, ptrSamples_8_L, ptrSamples_8_R);
...
}
function.h:
...
struct LandR sepChannels_8(unsigned char *smp, unsigned long N, unsigned char *L, unsigned char *R)
{
struct LandR
{
unsigned char *L;
unsigned char *R;
};
struct LandR LRChannels;
int i;
if (N % 2 == 0)
{
L = malloc(N/2);
R = malloc(N/2);
}
else
if (N % 2 == 1)
{
L = malloc(N/2);
R = malloc(N/2);
}
for (i = 0; i < N; i++) // separating
{
L[2 * i + 0] = smp[2 * i + 0];
R[2 * i + 0] = smp[2 * i + 1];
}
return LRChannels;
}
...
結構_defined_在你嘗試使用它的地步嗎?這是你的示例代碼中的拼寫錯誤,還是你真的想在函數本身中定義函數的返回類型? –
您對'.c'和'.h'文件的使用非常倒退 - 您在'main.c'中創建了原型,在'function.h'中創建了函數體。但是你確實設法把'main'放在'main.c'中。 –