не могу получить доступ к информации за ссылкой C ++ - PullRequest
0 голосов
/ 11 мая 2018

Попытка сделать вычитание из двух векторов.В конце он должен работать так:

vector1.sub(vector2);

Пользовательская переменная Vektor была определена как: Vektor(double x, double y, double z).Теперь я хочу получить доступ к x, y, z координатам через input.x и т. Д. Говорит мне

conversion from 'Vektor*' to non scalar type 'Vektor' requested.

Почему круто ???Разве невозможно вычесть ссылку на значение из значения?

Кстати, я новичок в SO, так что не стесняйтесь жарить меня за то, что я сделал неправильно!;)

Vektor Vektor::sub(const Vektor& input) const
{
    Vektor subresult = new Vektor(x - input.x, y - input.y, z - input.z);
    return subresult;
}

1 Ответ

0 голосов
/ 11 мая 2018

Вы не должны использовать new здесь, просто возвращайте значение

Vektor Vektor::sub(const Vektor& input) const
{
    return Vektor(x - input.x, y - input.y, z - input.z);
}

Также обратите внимание, что вы можете переопределить operator-, чтобы вы могли выполнить вычитание с использованием синтаксиса v1 - v2 где каждый имеет тип Vektor.

...