双鉴于通过引用传递C++
double skewAngle;
我怎么能忽略这个变量为一个函数,并将它没有返回值修改?
我目前的函数声明如下:
Mat findCard(Mat& baseImage, double *angle)
当我尝试findCard(baseImage, *skewAngle);
我得到找不到减速,谁能告诉我我该怎么办呢?
双鉴于通过引用传递C++
double skewAngle;
我怎么能忽略这个变量为一个函数,并将它没有返回值修改?
我目前的函数声明如下:
Mat findCard(Mat& baseImage, double *angle)
当我尝试findCard(baseImage, *skewAngle);
我得到找不到减速,谁能告诉我我该怎么办呢?
你的函数调用是错误的。您需要传递变量skewAngle
的地址,因为函数的第二个参数需要double *
。将其称为
findCard(baseImage, &skewAngle);
请注意,根据您的函数声明,只有第一个参数可以通过引用传递。第二个参数必须通过指针传递。
你通过指针传递变量,而不是引用,所以你需要将变量的地址传递给函数,如:
findCard(baseImage, &skewAngle);
如果你想通过引用传递它,你需要你的函数声明更改为:
Mat findCard(Mat& baseImage, double& angle)
,然后就可以直接传递变量的功能,如:
findCard(baseImage, skewAngle);
你不通过引用传递。你正在传递一个指针。 –
@AliAlamiri;无需通过参考。第二个参数应该按照函数原型通过指针传递。 – haccks
@haccks我知道,我只是通知用户,因为标题暗示他认为他是通过引用传递的。 –