strcpy出错

cpw666 2013-05-02 11:32:08
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')
...全文
183 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
星際訪客 2013-05-06
  • 打赏
  • 举报
回复
函式參數傳遞的方式有三種 : 傳值方式 . 傳址方式 . 傳參考方式
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);
}
cpw666 2013-05-06
  • 打赏
  • 举报
回复
char类型错误码?
cpw666 2013-05-03
  • 打赏
  • 举报
回复
水平不够还在研究,有回就给分了。
soloxiao 2013-05-03
  • 打赏
  • 举报
回复
指针类型错误
Kanson 2013-05-02
  • 打赏
  • 举报
回复

void SetName(char *pName)
{
    char Name[100];
    strcpy(Name,pName);
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   char pName[100]="1212";
   SetName(pName);
}
cpw666 2013-05-02
  • 打赏
  • 举报
回复
//employee.h 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(); }; ******************* //employee.cpp #include <string.h> #include "employee.h" void Employee::SetName(char *pName) { strcpy(Name,pName); } void Employee::GetName(char& pName) { strcpy(pName,Name); } void Employee::SetAge(int nAge) { Age = nAge; } int Employee::GetAge(void) { return Age; } void Employee::SetSalary(long lSalary) { Salary = lSalary; } long Employee::GetSalary(void) { return Salary; } ***************************** //lht98.cpp #include <iostream.h> #include <string.h> #include <stdio.h> #include "employee.h" void main() { char cName[1000]; int nAge = 35; long lSalary = 1500; Employee hp_liu; hp_liu.SetName("liu"); hp_liu.SetAge(nAge); hp_liu.SetSalary(lSalary); hp_liu.GetName(&cName); cout << "姓名 " << "年龄 " << "薪水 " << cName << " " <<hp_liu.GetAge()<< " " <<hp_liu.GetSalary(); getchar(); return; }
cpw666 2013-05-02
  • 打赏
  • 举报
回复
书上面程序的代码:在.h和.cpp,最后的main代码都是&cName
scoredhigh 2013-05-02
  • 打赏
  • 举报
回复
void Employee::GetName(char& pName) { strcpy(pName,Name); } 这里面的参数为什么要用引用,这样就变成了pName是个字符类型,而不是一个字符数组。
gzliudan 2013-05-02
  • 打赏
  • 举报
回复
void Employee::GetName(char& pName) { strcpy(pName,Name); } pName是一个字符,不能转换为指针。按你的意思,应该是: void Employee::GetName(char* pName) { strcpy(pName,Name); }

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧