我想将指针作为参数传递给函数,该函数对作为参数传递的矢量指针进行规范化。
以下是功能:
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;
}
我收到此错误:
错误:被称为对象“标准”不是函数或函数指针。
如何使此功能顺利运行?
答案 0 :(得分:3)
这是因为您的//Initialize the object
RequestQueue requestQueue =
Volley.newRequestQueue(getActivity().getApplicationContext());
//Release the object
requestQueue.stop();
requestQueue = null;
变量遮盖了float norm
函数。
命名其中一个。
此外,norm()
已经是一个指针,将其传递给vec
时无需获取其地址(&vec
)