В настоящее время, в моем коде я имеюКак я могу передать инициализирован объект
vector_2 v1(1.0,2.0);
Frame.Draw(v1(2.0f,1.0f));
где vector_2 является структурой с конструктором, который принимает 2 двойников (координаты). Frame - это экземпляр некоторого класса с функцией, которая принимает параметр vector_2 в качестве параметра. Это компилируется просто отлично и так, как я хочу.
Однако, когда я непосредственно попробовать без инициализации вектора до вызова функции, например .:
Frame.Draw(vector_2 v1(2.0f,1.0f));
Компилятор выдает сообщение об ошибке: ожидаемое первичное-выражение перед v1. Я надеялся непосредственно инициализировать функцию вызова функции.
Интересно, возможно ли это на C++, возможно, я не знаю правильного синтаксиса.
'Frame.Draw ({2.0f, 1.0f }); ' – AndyG
Это работает. Благодарю. Почему фигурные скобки? Чтобы я мог понять свою ошибку. Возможно ли это также при инициализации объекта непосредственно в конструкторе, например. someClass :: someClass(): SomeOtherObject ({1.0,2.0f}) {...} – Majte
Он непосредственно инициализирует вашу структуру. Подумайте об этом как о способе передачи аргументов, которые могут быть использованы для построения 'vector_2', необходимого для вызова функции. – AndyG