strcpy出错
void Employee::SetName(char *pName)
{
strcpy(Name,pName);
}
void Employee::GetName(char& pName)
{
strcpy(pName,Name);
}
提示GetName错误
Build
[C++ Error] employee.cpp(11): E2034 Cannot convert 'int' to 'char *'
[C++ Error] employee.cpp(11): E2342 Type mismatch in parameter '__dest' (wanted 'char *', got 'char')
[解决办法]
void Employee::GetName(char& pName)
{
strcpy(pName,Name);
}
pName是一个字符,不能转换为指针。按你的意思,应该是:
void Employee::GetName(char* pName)
{
strcpy(pName,Name);
}
[解决办法]
void Employee::GetName(char& pName)
{
strcpy(pName,Name);
}
这里面的参数为什么要用引用,这样就变成了pName是个字符类型,而不是一个字符数组。
[解决办法]
void SetName(char *pName)
{
char Name[100];
strcpy(Name,pName);
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char pName[100]="1212";
SetName(pName);
}
class Employee
{
private:
char Name[1000];
int Age;
long Salary;
public:
void SetName(char *pName);
void GetName(char *pName); //函式參數傳遞...数组使用傳址方式
void SetAge(int nAge);
int GetAge(void);
void SetSalary(long lSalary);
long GetSalary();
};
void Employee::GetName(char *pName)
{
strcpy(pName, Name);
}