c++ error C2664

voidchange(){intnumber;cout<<"请输入要修改的教师号"<<endl;cin>>number;cout<<"请选择要修改的信息:.教师号2.职称... void change(){ int number; cout<<"请输入要修改的教师号"<<endl; cin>>number; cout<<"请选择要修改的信息:.教师号2.职称3.教师名称4.单位5.性别6.工资"<<endl; int i; cin>>i; int number1,sex1,wage1; char zhicheng1[24],danwei1[34],name1[34]; switch(i) { case 1:cout<<"请输入修改的内容"<<endl; cin>>number1; teacher[number]->change1(number1);break; case 2:cout<<"请输入修改的内容"<<endl; cin>>zhicheng1; teacher[number]->change2(zhicheng1);break; case 3:cout<<"请输入修改的内容"<<endl; cin>>name1; teacher[number]->change3(name1);break; case 4:cout<<"请输入修改的内容"<<endl; cin>>danwei1; teacher[number]->change4(danwei1);break; case 5:cout<<"请输入修改的内容"<<endl; cin>>sex1; teacher[number]->change5(sex1);break; case 6:cout<<"请输入修改的内容"<<endl; cin>>wage1; teacher[number]->change6(wage1);break; } cout<<"您已完成对汽车信息的修改!"<<endl;}
: error C2664: 'change4' : cannot convert parameter 1 from 'char [34]' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast: error C2664: 'change5' : cannot convert parameter 1 from 'int' to 'char *' Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
展开
 我来答
Bk0X
2012-06-28 · TA获得超过9413个赞
知道小有建树答主
回答量:1217
采纳率:60%
帮助的人:678万
展开全部
参数不匹配的问题. 看错误信息的话, 问题出在teacher类的change4和change5的参数类型上面.

你没有给出teacher类型的代码, 不过我猜你是参数定义反了.
void change4(int) // 修改单位
void change5(char *) // 性别

应该反一反吧, 性别是int参数, 单位是char*参数,
void change4(char*) // 修改单位
void change5(int)// 性别
这样就符合参数类型了~~
追问
咋定义啊
一朵时光_bobo
2012-06-28 · TA获得超过182个赞
知道答主
回答量:220
采纳率:0%
帮助的人:102万
展开全部
格式bug了 。。
追问
发的时候还好 上传就这样了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式