在函数中使用指针并修改main()

时间:2019-02-09 00:21:33

标签: c pointers

我想将指针作为参数传递给函数,该函数对作为参数传递的矢量指针进行规范化。

以下是功能:

float norm(Vector *v) {
    float len;
    len = sqrt(pow(v->x, 2.0) + pow(v->y, 2.0) + pow(v->z, 2.0));
    return len;
}

Vector normalize(Vector *vec){
  Vector normVec;
  //calls norm function which also takes a pointer of vector type as argument
  float norm = norm(&vec);

  normVec.x = vec->x/norm;
  normVec.y = vec->y/norm;
  normVec.z = vec->z/norm;

  return normVec;
}

我收到此错误: 错误:被称为对象“标准”不是函数或函数指针。
如何使此功能顺利运行?

1 个答案:

答案 0 :(得分:3)

这是因为您的//Initialize the object RequestQueue requestQueue = Volley.newRequestQueue(getActivity().getApplicationContext()); //Release the object requestQueue.stop(); requestQueue = null; 变量遮盖了float norm函数。
命名其中一个。


此外,norm()已经是一个指针,将其传递给vec时无需获取其地址(&vec