だから、私はこの関数を持っています、そして私は私が理解できないいくつかの本当に奇妙なエラーを受け取っています。
void serialize_helper(huff *h, bits *history, char** a)
{
  switch (h->tag) {
  case LEAF:
    char letter = h->h.leaf.c;
    int arraynum = (int)letter;
    a[arraynum] = bits_show(history);
    putchar('\n');
    return;
  case NODE:
    /* traverse left subtree */
    bits_putlast('0',history);
    serialize_helper(h->h.node.lsub,history, a);
    bits_remove_last(history);
    /* traverse right subtree */
    bits_putlast('1',history);
    serialize_helper(h->h.node.rsub,history, a);
    bits_remove_last(history);
    return;
  default:
    fprintf(stderr,"main.serialize_helper: bad tag\n");
    exit(1);
  }
}
単純な変数定義でこのエラーが発生します(char文字= ...;から):
"huffenc.c:18:エラー:'char'の前に式が必要です"
さらに、コンパイラは「letter」の宣言が存在しないように動作しています:「huffenc.c:19:error:'letter' undeclared(この関数での最初の使用)」