C++ - Error: Expression must be a modifiable lvalue
C++ - Error: Expression must be a modifiable lvalue
我正在创建一个 C++ 应用程序,我有一个 class,其中包含一个 char
数组变量,如下所示:
class MyClass
{
public:
// The constructor
MyClass(char[]);
private:
// The variable
char myVariable[];
}
然后我尝试在这样的构造函数中设置此变量:
// The constructor
MyClass::MyClass(char myVariable[])
{
// Set the variable
MyClass::myVariable = myVariable; //<----- Error
}
但随后我在设置 MyClass::myVariable
变量的行中收到错误 (Error: expression must be a modifiable lvalue
)。我是 C++ 的新手,所以我不知道这意味着什么。如有任何帮助,我们将不胜感激!
您不能使用赋值运算符给数组赋值 (=
)
您应该 #include<algorithm>
并调用以下内容
std::copy(myVariable, MyClass::myVariable, size_of_muVariable);
否则将成员和参数更改为指针或 stl 类型为:
char *myVariable;
std::string myVariable;
std::vector<char> myVariable;
我正在创建一个 C++ 应用程序,我有一个 class,其中包含一个 char
数组变量,如下所示:
class MyClass
{
public:
// The constructor
MyClass(char[]);
private:
// The variable
char myVariable[];
}
然后我尝试在这样的构造函数中设置此变量:
// The constructor
MyClass::MyClass(char myVariable[])
{
// Set the variable
MyClass::myVariable = myVariable; //<----- Error
}
但随后我在设置 MyClass::myVariable
变量的行中收到错误 (Error: expression must be a modifiable lvalue
)。我是 C++ 的新手,所以我不知道这意味着什么。如有任何帮助,我们将不胜感激!
您不能使用赋值运算符给数组赋值 (=
)
您应该 #include<algorithm>
并调用以下内容
std::copy(myVariable, MyClass::myVariable, size_of_muVariable);
否则将成员和参数更改为指针或 stl 类型为:
char *myVariable;
std::string myVariable;
std::vector<char> myVariable;