Не может создать объект с переменной, введенной в конструкцию - говорит "Ожидается спецификатор типа" - PullRequest
1 голос
/ 26 апреля 2020

У меня проблема с созданием объектов, где у класса есть переменная как часть его конструктора. Он продолжает говорить мне "ожидал спецификатор типа". Вот простой пример, который я скопировал из учебника по основам c, чтобы проиллюстрировать:

class TLine {
public:
    void setLength(double len);
    double getLength(void);
    TLine(double len);  // This is the constructor

private:
    double length;
};

TLine::TLine(double len) {
    cout << "Object is being created, length = " << len << endl;
    length = len;
}
void TLine::setLength(double len) {
    length = len;
}
double TLine::getLength(void) {
    return length;
}

Если я буду следовать этому коду непосредственно с помощью:

class Test2 {
public:
private:
    TLine testLineInClass(120.0);
};

TLine testline(12.0);

Только создание второго объекта для TLine testline(12.0); работает. TLine testLineInClass(120.0); выдает ошибку на 120.0:

Ошибка (активная) E0079 ожидал спецификатор типа

Почему это не работает? Есть ли правильный способ создания объектов, которым требуется переменная, введенная в них внутри другого класса, как этот?

1 Ответ

0 голосов
/ 26 апреля 2020

Внутри класса вам нужно использовать {}, например:

TLine testLineInClass {120.0};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...