问题描述
在访问员工姓名时,我不断收到错误消息“错误:'const char[7] 到 [30] 分配中的类型不兼容”。我知道一次只能访问联合的一个数据成员。请帮忙。谢谢!这是我的代码:
#include <iostream>
#include <string>
using namespace std;
union employee
{
char name[30];
int ID;
float salary;
};
int main()
{
union employee emp;
emp.name="Tibebu";
cout<<"Employee name: "<<emp.name<<endl;
return 0;
}
解决方法
问题不在于对象是联合的成员。问题是您正在尝试分配一个数组。并且数组不可分配。
要修改数组,您必须为其分配元素。有用于在数组之间复制多个元素的标准函数。