&I.operator IplImage()
的含义是什么,在C ++语法中似乎不熟悉。
Mat I;
Ptr<IplImage> piI = &I.operator IplImage();
答案 0 :(得分:1)
“operator IplImage”实际上是类型转换运算符的全名。所以“I.operator IplImage()”将我从Mat类型转换为IplImage类型。最后,piI指向生成的IplImage的地址。它相当于:
Ptr<IplImage> piI = &static_cast<IplImage>(I);
答案 1 :(得分:1)
我不是OpenCV的用户,但我可以向您概述代码的作用:
Mat I;
创建名为Mat
的<{1}}对象。
让我们切断下一行:
I
似乎是Ptr<IplImage> piI
的智能指针。
IplImage
通过获取地址将&I.operator IplImage()
对象转换为Mat
对象。
答案 2 :(得分:0)
此
operator IplImage();
是对转换运算符的调用,它将类型为Mat
的对象转换为IplImage
类型的对象。
这个表达
&I.operator IplImage()
表示转换对象的地址。
然而,似乎不应该编译代码,因为运算符&amp;应用于转换运算符函数operator IplImage()
返回的IplImage类型的临时对象。