error C2660: 'Insertbitree' : function does not take 1 parameters
错误还有:errorC2660:'Insertbitree':functiondoesnottake1parametersD:\MicrosoftVisualStudio...
错误还有:error C2660: 'Insertbitree' : function does not take 1 parameters
D:\Microsoft Visual Studio\MyProjects\ety\qwe.cpp(55) : error C2660: 'Insertbitree' : function does not take 1 parameters
D:\Microsoft Visual Studio\MyProjects\ety\qwe.cpp(81) : warning C4508: 'main' : function should return a value; 'void' return type assumed
源代码:
#include<stdio.h>
#include<stdafx.h>
#include<stdlib.h>
typedef struct node
{char date;
struct node *rchild,*lchild;
}node,*Bitree;
void createbitree(Bitree t)
{char a;
scanf("%c",&a);
if(a==' ')t=NULL;
else
{
if(!(t=(node*)malloc(sizeof(node))))
exit(0);
t->date=a;
createbitree(t->lchild);
createbitree(t->rchild);
}
}
void P_bitree(Bitree t)
{if(t)
{printf("%2c",t->date);
P_bitree(t->lchild);
P_bitree(t->rchild);
}
}
void M_bitree(Bitree t)
{if(t)
{ M_bitree(t->lchild);
printf("%2c",t->date);
M_bitree(t->rchild);
}
}
void B_bitree(Bitree t)
{if(t)
{B_bitree(t->lchild);
printf("%2c",t->date);
B_bitree(t->rchild);
}
}
int Depthbitree(Bitree t)
{if(t->date==NULL)
return 0;
else if(t->date!=NULL&&t->lchild==NULL||t->rchild==NULL)
return 1;
else return Depthbitree(t->lchild)+Depthbitree(t->rchild);
}
int Insertbitree(Bitree t,char x)
{if(t->date==x)
return 1;
else
{return Insertbitree(t->lchild);
return Insertbitree(t->rchild);
}
return 0;
}
main()
{node *T;
int a,b;
char c;
printf("\n请输入二叉树的元素(先序遍历)");
createbitree(T);
printf("\n二叉树先序遍历后为:");
P_bitree(T);
printf("\n二叉树中序遍历后为:");
M_bitree(T);
printf("\n二叉树后序遍历后为:");
B_bitree(T);
printf("\n二叉树的深度为");
a=Depthbitree(T);
printf("%d",&a);
printf("\n请输入要查询的元素:");
scanf("%c",&c);
b=Insertbitree(T,c);
if(b=1)
printf("\n该数存在于二叉树中!");
else
printf("\n该数不存在于二叉树中!");
} 展开
D:\Microsoft Visual Studio\MyProjects\ety\qwe.cpp(55) : error C2660: 'Insertbitree' : function does not take 1 parameters
D:\Microsoft Visual Studio\MyProjects\ety\qwe.cpp(81) : warning C4508: 'main' : function should return a value; 'void' return type assumed
源代码:
#include<stdio.h>
#include<stdafx.h>
#include<stdlib.h>
typedef struct node
{char date;
struct node *rchild,*lchild;
}node,*Bitree;
void createbitree(Bitree t)
{char a;
scanf("%c",&a);
if(a==' ')t=NULL;
else
{
if(!(t=(node*)malloc(sizeof(node))))
exit(0);
t->date=a;
createbitree(t->lchild);
createbitree(t->rchild);
}
}
void P_bitree(Bitree t)
{if(t)
{printf("%2c",t->date);
P_bitree(t->lchild);
P_bitree(t->rchild);
}
}
void M_bitree(Bitree t)
{if(t)
{ M_bitree(t->lchild);
printf("%2c",t->date);
M_bitree(t->rchild);
}
}
void B_bitree(Bitree t)
{if(t)
{B_bitree(t->lchild);
printf("%2c",t->date);
B_bitree(t->rchild);
}
}
int Depthbitree(Bitree t)
{if(t->date==NULL)
return 0;
else if(t->date!=NULL&&t->lchild==NULL||t->rchild==NULL)
return 1;
else return Depthbitree(t->lchild)+Depthbitree(t->rchild);
}
int Insertbitree(Bitree t,char x)
{if(t->date==x)
return 1;
else
{return Insertbitree(t->lchild);
return Insertbitree(t->rchild);
}
return 0;
}
main()
{node *T;
int a,b;
char c;
printf("\n请输入二叉树的元素(先序遍历)");
createbitree(T);
printf("\n二叉树先序遍历后为:");
P_bitree(T);
printf("\n二叉树中序遍历后为:");
M_bitree(T);
printf("\n二叉树后序遍历后为:");
B_bitree(T);
printf("\n二叉树的深度为");
a=Depthbitree(T);
printf("%d",&a);
printf("\n请输入要查询的元素:");
scanf("%c",&c);
b=Insertbitree(T,c);
if(b=1)
printf("\n该数存在于二叉树中!");
else
printf("\n该数不存在于二叉树中!");
} 展开
展开全部
error C2660: 'Insertbitree' : function does not take 1 parameters
意思是:'Insertbitree'函数不是一个(输入)参数
看起来是函数定义中间的重入调用传入参数有问题(少了一个)。
int Insertbitree(Bitree t,char x)
{
if(t->date==x)
return 1;
else
{
return Insertbitree(t->lchild); //此处两句做重入调用的传入参数与函数定义不匹配,编译出错
return Insertbitree(t->rchild); //此处两句做重入调用的传入参数与函数定义不匹配,编译出错
}
return 0;
}
warning C4508: 'main' : function should return a value; 'void' return type assumed
意思是:警告, 'main'函数应该有返回值,此处默认为'void'(因未定义)。
意思是:'Insertbitree'函数不是一个(输入)参数
看起来是函数定义中间的重入调用传入参数有问题(少了一个)。
int Insertbitree(Bitree t,char x)
{
if(t->date==x)
return 1;
else
{
return Insertbitree(t->lchild); //此处两句做重入调用的传入参数与函数定义不匹配,编译出错
return Insertbitree(t->rchild); //此处两句做重入调用的传入参数与函数定义不匹配,编译出错
}
return 0;
}
warning C4508: 'main' : function should return a value; 'void' return type assumed
意思是:警告, 'main'函数应该有返回值,此处默认为'void'(因未定义)。
更多追问追答
追问
能否告诉我解决方法呢?
追答
对:error C2660: 'Insertbitree' : function does not take 1 parameters
return Insertbitree(t->lchild);此处传入参数缺少了函数定义里的”char x“,你需要调用时传入该参数;
对:warning C4508: 'main' : function should return a value; 'void' return type assumed,
可定义为:void main(),或不理会,这里是警告,提示风险
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询