请问个指针问题!

bios8086 2013-11-18 02:41:57
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 就是代表变量了吗?
...全文
132 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
追求执着 2013-11-18
  • 打赏
  • 举报
回复
指针引用,根据自己的使用环境适当的选择 问题的所在是运算符的优先级,2楼已解
junlinfushi 2013-11-18
  • 打赏
  • 举报
回复
使用引用吧,为毛用指针
Sky丶Memory 2013-11-18
  • 打赏
  • 举报
回复
解引用(*)操作符的优先级比.优先级低,所以先结合后面的,再结合前面的,如果对优先级不是很熟悉的话,适当的添加括号是好事,对程序也没什么影响,增加了程序的可读性,不过,了解操作符的优先级还是有好处的
max_min_ 2013-11-18
  • 打赏
  • 举报
回复
*的等级是很低很低的!不知道优先级的地方就加括号决定没错的!
starytx 2013-11-18
  • 打赏
  • 举报
回复
(*ptrMat).empty()
Adol1111 2013-11-18
  • 打赏
  • 举报
回复
(*ptrMat).empty() .优先级比*高,你可以了解下C++的操作符优先级 不过从你的例子来看,为什么不用引用?一定要用指针吗?
ri_aje 2013-11-18
  • 打赏
  • 举报
回复
用引用更好,干吗非得用指针?
rmaly 2013-11-18
  • 打赏
  • 举报
回复
.的优先级比*高
ri_aje 2013-11-18
  • 打赏
  • 举报
回复
引用 8 楼 bios8086 的回复:
[quote=引用 1 楼 ri_aje 的回复:] 用引用更好,干吗非得用指针?
C++ 里不是以有指针为骄傲的吗? 另外 请问下引用在这里是怎么样的?C++里有引用啊 我都不知道,这里真是个好地方[/quote] 谁说的? 把 Mat * 改成 Mat&,然后用对象的语法。
bios8086 2013-11-18
  • 打赏
  • 举报
回复
引用 1 楼 ri_aje 的回复:
用引用更好,干吗非得用指针?
C++ 里不是以有指针为骄傲的吗? 另外 请问下引用在这里是怎么样的?C++里有引用啊 我都不知道,这里真是个好地方

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧