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 展开
: 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 展开
展开全部
参数不匹配的问题. 看错误信息的话, 问题出在teacher类的change4和change5的参数类型上面.
你没有给出teacher类型的代码, 不过我猜你是参数定义反了.
void change4(int) // 修改单位
void change5(char *) // 性别
应该反一反吧, 性别是int参数, 单位是char*参数,
void change4(char*) // 修改单位
void change5(int)// 性别
这样就符合参数类型了~~
你没有给出teacher类型的代码, 不过我猜你是参数定义反了.
void change4(int) // 修改单位
void change5(char *) // 性别
应该反一反吧, 性别是int参数, 单位是char*参数,
void change4(char*) // 修改单位
void change5(int)// 性别
这样就符合参数类型了~~
追问
咋定义啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询