我在使用类型时遇到了麻烦char.当我通过构造函数初始化我的ID和Name我的结构时,为什么我收到此错误消息?"expression must be a modifiable lvalue".
struct Staff
{
char ID[8];
char Name[30];
Staff()
{
ID = "";
Name = "";
}
};
Run Code Online (Sandbox Code Playgroud)
由于这个问题被标记为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)
在文件的最顶部.
| 归档时间: |
|
| 查看次数: |
154 次 |
| 最近记录: |