【问题标题】:C++ error: Assignment of read-only member in class constructorC++ 错误:在类构造函数中分配只读成员
【发布时间】:2020-02-11 10:34:00
【问题描述】:

我试图在我的类构造函数中分配一个常量类成员。但是,我收到以下错误:

只读成员'ExampleClass::exampleMember'的赋值

下面是我的头文件代码(ExampleClass.h)

class ExampleClass
{
  public:
    ExampleClass(int n);
  protected:
    const int exampleMember;
};

下面是我的实现文件(ExampleClass.cpp)的代码:

#include <iostream>
#include "ExampleClass.h"
using namespace std;
ExampleClass::ExampleClass(int n)
{
    this->exampleMember = n;
}

【问题讨论】:

  • ExampleClass::ExampleClass(int n) : exampleMember (n) {}?
  • 不可能通过显示的代码得到此错误。如图here。即使您想询问不同的错误,但最初的问题中没有显示 - 那是一个不同的问题。

标签: c++ class oop


【解决方案1】:

您的构造函数可以使用初始化列表初始化exampleMember

ExampleClass::ExampleClass(int n) : exampleMember(n)
{
}

一种放置在构造函数主体之外的特殊语法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多