读书人

请教个指针有关问题

发布时间: 2013-11-29 00:21:24 作者: rapoo

请问个指针问题!

void GetThreshPic(Mat *ptrMat)
{
Mat im =*ptrMat;




if(im.empty())
{
cout << "Cannot load image!" << endl;
}
cvtColor( *ptrMat, *ptrMat, CV_RGB2GRAY );
threshold( *ptrMat, *ptrMat, 125, 255,0 );
//return im;
}
int _tmain(int argc, _TCHAR* argv[])
{
cv::Mat im = cv::imread("D:\\Program Files (x86)\\CCAD\\CCAD\\splash.jpg");
//im=
GetThreshPic(&im);


为什么我*ptrMat.empty() 就不行了那?
一定要Mat im =*ptrMat; im.empty() 才可以
C++ 中不是*ptrMat 就是代表变量了吗?
[解决办法]
(*ptrMat).empty()
[解决办法]
解引用(*)操作符的优先级比.优先级低,所以先结合后面的,再结合前面的,如果对优先级不是很熟悉的话,适当的添加括号是好事,对程序也没什么影响,增加了程序的可读性,不过,了解操作符的优先级还是有好处的
[解决办法]
引用:
Quote: 引用:

用引用更好,干吗非得用指针?


C++ 里不是以有指针为骄傲的吗?
另外 请问下引用在这里是怎么样的?C++里有引用啊 我都不知道,这里真是个好地方

谁说的?
把 Mat * 改成 Mat&,然后用对象的语法。
[解决办法]
.的优先级比*高

读书人网 >C++

热点推荐