在C++中使用char和char []

GHD*_*GHD -4 c++ char

我在使用类型时遇到了麻烦char.当我通过构造函数初始化我的IDName我的结构时,为什么我收到此错误消息?"expression must be a modifiable lvalue".

struct Staff
{
    char ID[8];
    char Name[30];
    Staff()
    {
        ID = "";
        Name = "";
    }
};
Run Code Online (Sandbox Code Playgroud)

Sho*_*hoe 6

由于这个问题被标记为C++,并且代码仅使用C++的特性(例如构造函数),我假设您在标题中错误地将C与C++混淆.

char当你真正指字符串时,不要使用数组.std::string改为使用:

struct Staff {
    std::string ID;
    std::string Name;
};
Run Code Online (Sandbox Code Playgroud)

通过这种方式,默认构造函数将按预期运行,您甚至不需要指定它.您需要的唯一额外行是包含必要标题的行:

#include <string>
Run Code Online (Sandbox Code Playgroud)

在文件的最顶部.