//构造结点类型, 用于构造二叉树
typedef struct BiNode{
char data;
struct BiNode *lchild,*lrchild;//左右孩子指针;
}BiNode,*BiTree;
BiTree T;
char Pass[20];
strcpy(Pass,m_Password);
int i=0;
    while(!(Pass[i]=='\n'))
{
if(!(T=BiNode *)malloc(sizeof(BiNode)))
exit(1);
        T->data=Pass[i];//生成根结点;
        T->lrchild->data=Pass[i++];
        T->lrchild->lchild=T->lrchild->lrchild=NULL;
T=T->lchild;
}
上面一段构造二叉树的代码,但是我不明白  if(!(T=BiNode *)malloc(sizeof(BiNode)))  这一段代码在被编译出 error C2059: syntax error : ')'这种错误,请指点,我是用的VC++ 编译器....谢谢

解决方案 »

  1.   

    应该是这种吧
    if (!(T=(BiNode*)malloc(sizeof(BiNode))))
      

  2.   

    if ( !(T = (BiNode*)malloc( sizeof(BiNode) ) ) )
      

  3.   

    BiTree T;if(!(T=BiNode *)malloc(sizeof(BiNode)))  
    看到没?
    应该为
    BiTree * T;
    T = (BiNode *)malloc(sizeof(BiNode));
    if(!T)
      

  4.   

    哦,看错了.就是应该为BitTree T
    但下面那句话没错,呵呵.不好意思啊
      

  5.   

    谢谢你们哟,,你们的眼睛一下子就能看出来,,我天天调试程序人都给调试蒙了,,..原来我把(BiNode *)的左括号给丢了,郁闷了..