Я новичок здесь, совершенно новый для написания кода в С++ и в настоящее время сталкивается с следующей проблемой:
Я использую библиотеку wykobi, которая занимается геометрией и решает многие из моих предыдущих проблем, но теперь я хочу создать треугольник, используя ее, и не могу понять, как правильно вызвать нужный метод.
std::string x_str(argv[2]);
std::string y_str(argv[3]);
double x = atof(x_str.c_str());
double y = atof(y_str.c_str());
[...]
double x2;
x2 = double(orientation.direction.x)+angleRightx;
double y2;
y2 = double(orientation.direction.y)+angleRighty;
double x3;
x3 = double(orientation.direction.x)+angleLeftx;
double y3;
y3 = double(orientation.direction.y)+angleLefty;
wykobi::triangle<wykobi::Float,2> clip_boundry = wykobi::make_triangle<wykobi::Float,2>(&x,&y, &x2,&y2, &x3,&y3);
wykobi::polygon<wykobi::Float,2> clipped_polygon;
wykobi::algorithm::sutherland_hodgman_polygon_clipper<wykobi::point2d<wykobi::Float> >(clip_boundry,wykPG,clipped_polygon);
Я попробовал нечто подобное перед созданием круга, который работал отлично:
wykobi::circle<wykobi::Float> circle;
circle.x = x;
circle.y = y;
circle.radius = dist;
wykobi::polygon<wykobi::Float,2> clip_boundry = wykobi::make_polygon<wykobi::Float>(circle,100);
wykobi::polygon<wykobi::Float,2> clipped_polygon;
wykobi::algorithm::sutherland_hodgman_polygon_clipper<wykobi::point2d<wykobi::Float> >(clip_boundry,wykPG,clipped_polygon);
Теперь проблема компиляции:
error: нет соответствующей функции для вызова 'make_triangle (double *, double *, double *, double *, double *, double *)'
Когда я удаляю амперсанды:
wykobi::triangle<wykobi::Float,2> clip_boundry = wykobi::make_triangle<wykobi::Float,2>(x,y, x2,y2, x3,y3);
Ошибка при компиляции:
ошибка: нет соответствующей функции для вызова 'make_triangle (double &, double &, double &, double &, double &, double &)'
И, наконец, метод, который я вызываю, выглядит так:
template<typename T> inline triangle<T,2> make_triangle(const T& x1, const T& y1, const T& x2, const T& y2, const T& x3, const T& y3);
Итак, интересно, что мне нужно изменить, чтобы указать правильные параметры?
Спасибо заранее!