错误:将'char'赋值给'char [11]'时出现不兼容的类型

时间:2012-07-11 20:38:16

标签: c++ arrays class

我正在尝试创建一个允许用户设置成员数组变量的成员函数。

我一直在寻找,但我在代码中找不到问题,

#include <string>
#include <iostream>
using namespace std;

class Employee
{
   protected:
      string name;
      char ssn[11];
      char id[5];
      char hired[8];
   public:
      Employee(char ssn, char id, char hired);     //Constructor
      Employee(string name);
      ~Employee();      //Destructor
      void setName(string n) { n = name; }
      void setSSN(char i) { ssn = i; }

};

int main()
{
return 0;
}

1 个答案:

答案 0 :(得分:0)

让我们来看看你的setSSN函数:

void setSSN(char i) { ssn = i; }

SNN,很可能意味着社会安全号码,不只是一位数而是11位,对吗?那么为什么setSSN只能将(char i)作为一个字符(数字)输入?所以setSSN函数应该采用包含员工SSN的字符串,并且该字符串应该与ssn类的Employee成员变量具有相同的风格,以便让您在setSSN函数体中为另一个字符串变量赋值。如果您已经熟悉C ++标准库的string类,则应该将该类用于所有字符串存储和操作。