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')
...全文
133 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
星際訪客 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); }
回复
相关推荐
发帖
C++ Builder
创建于2007-08-02

1.3w+

社区成员

C++ Builder相关内容讨论区
申请成为版主
帖子事件
创建了帖子
2013-05-02 11:32
社区公告
暂无公告