类型arg []和类型* arg之间的区别

时间:2014-12-04 06:50:10

标签: c++ args

当涉及到函数参数时,类型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 个答案:

答案 0 :(得分:0)

你可能想要改变这个

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

这样的事情

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