访问联合的数据成员时出错

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;
}

问题不在于对象是联合的成员。问题是您正在尝试分配一个数组。并且数组不可赋值。

要修改数组,您必须分配其元素。有用于在数组之间复制多个元素的标准函数。