title: error: return type is an incomplete type
body: <p>I can't understand what does it mean:</p>
  
  <pre><code>error: return type is an incomplete type"
  </code></pre>
  
  <p>I just want to return the struct. I had separated two audio channels and I'd like to return them using a struct using the only function.</p>
  
  <p><strong>main.c</strong>:</p>
  
  <pre><code>#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 );
  
      ...
  }
  </code></pre>
  
  <p><strong>function.h</strong>:</p>
  
  <pre><code>...
  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 &lt; N; i++ )    // separating
  {
      L[2 * i + 0] = smp[2 * i + 0];
      R[2 * i + 0] = smp[2 * i + 1];
  }
  return LRChannels;
  }
  ...
  </code></pre>