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;