C++ 错误" expression must be a modifiable lvalue "
c++ error " expression must be a modifiable lvalue "
我对这里的代码有一个问题,我在这个带有一个结构的简单代码中遇到了一个错误,如果你编译它,那么编译器在错误语句中声明"表达式必须是可修改的左值"。我在此代码中基本上想要的是分配一个具有结构数组的名称。所以当有写 x[1].identification = "Id"; ,然后编译器给出错误 。我陷入这个问题有一段时间了.
任何人都可以对此给出解决方案吗?!
谢谢
这是代码:
#include "stdafx.h"
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<iomanip>
#include<windows.h>
//#include <ctime>
//#include <dos.h>
#include<dos.h>
#include<conio.h>
#include<cstdio>
#define max 20
using namespace std;
struct person
{
char identification[20];
long int code;
char group [20];
int experience;
int age;
};
int main()
{
person x[10];
x[1].identification = "Id"; // this is where the error is being shown
system("cls");
return 0;
}
您正在尝试将const char*
分配给char
数组。这是没有道理的。请改用std::string
:
struct person {
std::string identification;
long int code;
std::string group;
int experience;
int age;
};
您可能还希望创建一个构造函数,否则code
、experience
和age
是未定义的。您可能应该在施工时需要它们。
相关文章:
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- 这对"With a stackless coroutine, only the top-level routine may be suspended."意味着什么
- 为什么我会" void value not ignored as it ought to be"?
- 如何解决"no Qt platform plugin could be initialized"问题?
- C++/SDL "initial value of reference to a non-const must be an lvalue"
- 如何修复输出日志中的"EnableInput can only be specified on a Pawn for its Controller"错误
- _BitScanForward64 can not be found
- C++复制函数重载导致"must be a nonstatic member function"错误
- 通过分隔符分隔包含 UTF-16 BE 文本的uint8_t数组
- C++ 错误:"array must be initialized with a brace-enclosed initializer"
- "expression must be a modifiable lvalue"是什么意思?
- 如何摆脱导入的 make 项目中的 Eclipse 索引器"Type std::... could not be resolved"错误
- C++ 被迫做一个奇怪的演员表来摆脱"expression should be a modifiable lvalue"
- 产生错误"expression must be a modifiable lvalue"
- 如何实现对象指针的动态数组? "expression must be a modifiable lvalue"
- 为什么在以下代码上"must be modifiable l-value"编译器错误 (C2105) ?
- C++ 错误" expression must be a modifiable lvalue "
- C++ - "Expression must be modifiable lvalue"
- "Expression must be a modifiable LValue"