だから、私はこの関数を持っています、そして私は私が理解できないいくつかの本当に奇妙なエラーを受け取っています。
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(この関数での最初の使用)」