这个错误怎么改正?
程序代码:
char** coding(H_tree *t,int n,int i,stack *s)//t为霍夫曼树,n为符号,i为当前节点,s为存放编码的栈 { int j; char **HC;//hc存放编码 init_stack(s);//初始化栈 HC=new (char *)[n];error C2143: syntax error : missing ';' before '[' if(t->node[i].lchild==-1&&t->node[i].rchild==-1) { HC[i]=new char[s->top]; for(j=0;j<s->top;j++) HC[i][s->top-j-1]=pop(s); }//如果为叶子节点,这输出此符号说在叶子节点的编码; else push(s,'0'); coding(t,n,t->node[i].lchild,s);//采用递归的方式对叶子节点的符号进行编码叶子节点为1,其他节点为零 pop(s);//由于根节点是进栈一个字符所以要弹出一个字符 push(s,'1');//右子树的叶子节点字符为1; coding(t,n,t->node[i].rchild,s); pop(s); } return HC; }