C++中cv::Mat::type语法错误求助:需用&创建成员指针
解决OpenCV Mat创建时的成员访问错误
嘿,我来帮你搞定这个报错问题~
首先,咱们先拆解下你遇到的错误提示:cv::Mat::type: non-standard syntax; use '&' to create a pointer to member。这个错误的核心原因其实很直白——你把OpenCV里Mat类的成员函数当成了成员变量来访问啦!
在OpenCV的Mat类中,获取矩阵的类型并不是直接访问type这个变量,而是需要调用type()这个成员函数。你写的代码里少了一对括号,导致编译器误以为你想取某个成员变量的地址,所以才抛出了这个看起来有点绕的错误。
修改后的关键代码行
把出错的这行代码:
Mat output = Mat::zeros(input.rows, input.cols, input.type);
改成:
Mat output = Mat::zeros(input.rows, input.cols, input.type());
额外小提醒(针对你的CardDetector类)
另外我注意到你贴的类代码里,detect()函数的定义没写完:namedWindow(OUTPUT这里缺了闭合括号和参数,记得补上完整的调用,比如namedWindow(OUTPUT, WINDOW_AUTOSIZE);,不然后续编译也会出问题哦。
如果还有其他小疑问,随时问就好~
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

