Вызов функции, которая возвращает вектор по значению на месте и итерации по элементам приводит к тому, что первое значенC++

Программы на C++. Форум разработчиков
Anonymous
Вызов функции, которая возвращает вектор по значению на месте и итерации по элементам приводит к тому, что первое значен

Сообщение Anonymous »

Я пытался интегрировать геометрию BOOST в проект, но столкнулся с проблемой, когда я возвращаю геометрию многоугольника из моего пользовательского класса. Ниже приведен минимальный пример, который воспроизводит то, что я вижу.#pragma once
#include
#include
#include

#include

using my_point_t = boost::geometry::model::point;
using my_polygon_t = boost::geometry::model::polygon;

class Shape {
private:
my_polygon_t polygon_;
public:
Shape() = default;
Shape(const std::vector& poly){

for (const auto& pt : poly) {
polygon_.outer().push_back(pt);
}
// Close the polygon by adding the first point again
if (!polygon_.outer().empty()) {
polygon_.outer().push_back(polygon_.outer().front());
}
}

my_polygon_t getPolygon() const {
return polygon_;
}
};

< /code>
Файл main.cpp, как показано ниже: < /p>
#include
#include "shape.hpp"

int main() {

std::cout

Подробнее здесь: https://stackoverflow.com/questions/796 ... ng-over-el

Вернуться в «C++»