给出
double skewAngle;
如何将此变量传递给函数并修改它而不返回值?
我目前的功能声明如下:
Mat findCard(Mat& baseImage, double *angle)
当我尝试findCard(baseImage, *skewAngle);
我没有找到减速,有人能告诉我如何做到这一点吗?
答案 0 :(得分:3)
您通过指针而非引用传递变量,因此您需要将变量的地址传递给函数,例如:
findCard(baseImage, &skewAngle);
如果您想通过引用传递它,则需要将函数声明更改为:
Mat findCard(Mat& baseImage, double& angle)
然后您可以将变量直接传递给函数,例如:
findCard(baseImage, skewAngle);
答案 1 :(得分:2)
您的函数调用错误。您需要传递变量skewAngle
的地址,因为函数的第二个参数需要double *
。将其称为
findCard(baseImage, &skewAngle);
请注意,根据您的函数声明,只能通过引用传递第一个参数。第二个参数必须通过指针传递。