cannot convert parameter 2 from 'char [5]' to 'char'
发布网友
发布时间:2024-10-06 11:11
我来回答
共1个回答
热心网友
时间:2024-10-10 05:35
/*先分析一下问题,你要存名字,性别,都是一个字符串,你却采用了char这个类型,
char是字符,就是"a","b","<",这一类的字符,所以这里你要把
char name;改为char name[20];,
不一定用20,只是为了确保名字不溢出。性别也一样。
还有,你生命了set_value这个函数,却没有定义,导致调用不了,我修改一下你的代码。
在下面:*/
//student.h
class Student
{
public:
void set_valve(int,char*,char*);
void display();
private:
int num;
char name[20];
char sex[5];
};
//student.cpp
#include<iostream>
#include"student.h"
using namespace std;
void Student::display()
{
cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
}
void Student::set_valve(int _num,char* _name,char* _sex)
{
num = _num;
strcpy_s(name,20,_name);
strcpy_s(sex,5,_sex);
}
//main.ccp
#include<iostream>
#include "student.h"
int main()
{
Student stud;
stud.set_valve(10,"莉莉","女");
stud.display();
return 0;
}