访问联合的数据成员时出错
An error in accessing a data member of a union
我在访问员工姓名时不断收到错误消息“错误:‘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;
}
问题不在于对象是联合的成员。问题是您正在尝试分配一个数组。并且数组不可赋值。
要修改数组,您必须分配其元素。有用于在数组之间复制多个元素的标准函数。
我在访问员工姓名时不断收到错误消息“错误:‘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;
}
问题不在于对象是联合的成员。问题是您正在尝试分配一个数组。并且数组不可赋值。
要修改数组,您必须分配其元素。有用于在数组之间复制多个元素的标准函数。