erreur: le type de retour est un type incomplète

Je ne peux pas comprendre ce que veut dire:

error: return type is an incomplete type"

Je veux juste de retour de la struct. J'ai eu la séparation de deux canaux audio et je tiens à les retourner à l'aide d'une structure à l'aide de la fonction unique.

principal.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 );

    ...
}

fonction.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;
}
...
Est la struct défini à l'endroit que vous essayez de l'utiliser? C'est qu'une faute de frappe dans votre exemple de code ou êtes-vous vraiment essayer de définir le type de retour de la fonction au sein de la fonction elle-même?
Votre utilisation du .c et .h fichiers est assez rétro - vous avez le prototype de l' main.c et le corps de la fonction dans function.h. Mais vous avez réussi à mettre main dans main.c.

OriginalL'auteur yulian | 2013-05-21