У меня проблема с созданием объектов, где у класса есть переменная как часть его конструктора. Он продолжает говорить мне "ожидал спецификатор типа". Вот простой пример, который я скопировал из учебника по основам 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 ожидал спецификатор типа
Почему это не работает? Есть ли правильный способ создания объектов, которым требуется переменная, введенная в них внутри другого класса, как этот?