Ошибка C ++: назначение члена только для чтения в конструкторе класса - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь назначить постоянный член класса в моем конструкторе классов. Однако я получаю следующую ошибку:

Назначение члена только для чтения '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;
}

1 Ответ

4 голосов
/ 11 февраля 2020

Ваш конструктор может инициализировать exampleMember, используя список инициализаторов:

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

специальный синтаксис, размещенный вне тела конструктора.

...