разница между типом arg [] и типом * arg

Когда дело доходит до параметров функции, тип arg [] эквивалентен типу * arg, и на самом деле последний более точен, поскольку вы не можете передавать массивы как аргументы функции, они всегда неявно преобразуются в указатель на тип. Итак, учитывая это, я предполагаю, что это не работает, и это не так! Но я не знаю, как это исправить. Я думаю, что я мог бы иметь это задом наперед

 Polygon::Polygon(int num_points, double x_array[], double y_array[])
{
this->num_points = num_points;
for (int k = 0; k < num_points; k++)
{
x_array[k] = points[k].GetX();
y_array[k] = points[k].GetY();
}
}

Я беру значения от неинициализированного члена точки массива и присвоение их массивам, переданным аргументами. Есть ли другой способ написать это? Я могу дать весь код, если вы хотите

-1

Решение

Вы, вероятно, хотите изменить это

x_array[k] = points[k].GetX();
y_array[k] = points[k].GetY();

что-то вроде этого

points[k] = Point(x_array[k], y_array[k]);
0

Другие решения