я не могу понять, что это значит:ошибка: возвращаемый тип является неполным типом
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;
}
...
Является ли struct _defined_ в точке, в которой вы пытаетесь ее использовать? Это опечатка в вашем примере кода или вы действительно пытаетесь определить тип возврата функции внутри самой функции? –
Ваше использование файлов '.c' и' .h' в значительной степени обратное - у вас есть прототип в 'main.c' и тело функции в' function.h'. Но вам удалось поставить 'main' в' main.c'. –