【问题标题】:C++ - Error: Expression must be a modifiable lvalueC++ - 错误:表达式必须是可修改的左值
【发布时间】:2015-03-30 01:09:24
【问题描述】:

我正在创建一个 C++ 应用程序,我有一个包含 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++ 新手,所以我不知道这意味着什么。任何帮助将不胜感激!

【问题讨论】:

    标签: c++ variables syntax-error variable-assignment


    【解决方案1】:

    您不能使用赋值运算符(=)来分配数组

    您应该#include&lt;algorithm&gt; 并拨打以下电话

    std::copy(myVariable, MyClass::myVariable, size_of_muVariable);
    

    否则将成员和参数更改为指针或stl类型为:

    char *myVariable;
    std::string myVariable;
    std::vector<char> myVariable;
    

    【讨论】:

      猜你喜欢
      • 2014-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-17
      • 2014-12-15
      • 2014-12-20
      • 2015-09-19
      相关资源
      最近更新 更多