Я следующий простой конструктор:класса конструктор с параметрами по умолчанию
Vector(double x=0, double y=0) : x(x), y(y) {}
void operator+=(const Vector& other) {
this->x += other.x;
this->y += other.y;
}
Но когда я называю это, как этот
Vector b();
Vector a(1,1);
и попытаться сделать + = Ь; компилятор дает мне много ошибок, говорящих, что операторов нет. Однако, когда мне это нравится: Вектор b (0,0); или Вектор b (0); все работает (((
Почему вы думаете, что такой конструктор позволит использование '+ = '? Если вам нужен оператор, вам нужно перегрузить его. Это не имеет никакого отношения к конструкторам. Но в качестве побочного примечания вы должны сделать этот конструктор явным, или простые числа будут неявно преобразовывать в векторы как координаты x. –
I есть оператор. Теперь я добавляю его ... – user3402740
Кстати, 'this->' не нужно –