//创建树
PBinTree createBinTree() {
PBinTree pbt;
pbt = (PBinTree)malloc(sizeof(BinTree));
if (pbt != NULL) {
*pbt = createBinTreeNode();
return pbt;
}
else
printf("failed!!\n");
}
//createTreeNode函数
PBinTreeNode createBinTreeNode() {
PBinTreeNode pbtn;
char ch;
printf("请输入结点值:\n");
scanf("%c", &ch);
if (ch == "@")
pbtn= NULL;
else {
pbtn = (PBinTreeNode)malloc(sizeof(struct BinTreeNode));
if (pbtn != NULL) {
pbtn->info = ch;
pbtn->llink = createBinTreeNode();
pbtn->rlink = createBinTreeNode();
}
}
return pbtn;
}
这是代码的一部分编译时提示: error C2040: “createBinTreeNode”:“PBinTreeNode ()”与“int ()”的间接寻址级别不同。
看了半天找不到错误地方,求高手帮看看
解决方案
10
这些类型怎么定义的啊
20
双击错误提示,定位到具体位置。这里看不出有什么问题
1:检查能否有左右操作数类型不能匹配的情况
2:BinTreeNode在这个文件中能否是完全类型(能看到定义的)
1:检查能否有左右操作数类型不能匹配的情况
2:BinTreeNode在这个文件中能否是完全类型(能看到定义的)
10
*pbt类型和createBinTreeNode的返回值类型不一样吧;
感觉这个地方怪怪的。
本人认为你应该是pbt类型里的一个元素是PBinTreeNode类型的。
主要还是要看你的数据结构定义。
感觉这个地方怪怪的。
本人认为你应该是pbt类型里的一个元素是PBinTreeNode类型的。
主要还是要看你的数据结构定义。