记一两件小事
Posted chriscoder
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一两件小事相关的知识,希望对你有一定的参考价值。
小事1:关于share_ptr
pcl::PointCloud<pcl::PointXYZI>::Ptr cloud_origin(pcl::PointCloud<pcl::PointXYZI>);
pcl::io::loadPCDFile<pcl::PointXYZI> ("/media/data/temp/pcd/0.pcd", *cloud_origin);
编译出现错误:
error: no matching function for call to ‘loadPCDFile(const char [38], pcl::PointCloud<pcl::PointXYZI>::Ptr (&)(pcl::PointCloud<pcl::PointXYZI>))’
错误的意思大概就是, 我在loadPCDFile函数输入的是ptr指针类型,但是我明明传的是值类型啊!百思不得其解,大概花了将近半个小时在怀疑人生,然后对着官方文档的代码,一句一句的对照,终于知道了我少了一个new。
应该是这样的:
pcl::PointCloud<pcl::PointXYZI>::Ptr cloud_origin(new pcl::PointCloud<pcl::PointXYZI>); pcl::io::loadPCDFile<pcl::PointXYZI> ("/media/data/temp/pcd/0.pcd", *cloud_origin);
小事2:关于if语句
if (x < min_x || x > max_x);
{
continue;
}
// do something
这个程序始终得不到我要的效果,然后我就换种方式吧!
if (x >= min_x && x <= max_x)
{
// do something
}
这种没有问题,奇了怪了。然后又是怀疑人生半个多小时。后来终于自己在if()语句后面多了一个;
所以要写代码要仔细,仔细, 再仔细! 很小的一个问题都会让你花很多的时间去找bug,但是多接触bug也有好处
以上是关于记一两件小事的主要内容,如果未能解决你的问题,请参考以下文章