在 MFC 程序中使用如下语句时
pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGB>);
pcl::PointCloud<pcl::Normal>::Ptr normal(new pcl::PointCloud<pcl::Normal>);
编译的时候会出现如下错误
error C2661: 'pcl::PointCloud<PointT>::operator new' : no overloaded function takes 3 arguments
google 一番发现这是因为 MFC wizard 为了跟踪内存分配在每个 MFC .cpp 中都加了以下三句话
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
重新定义了 new,因此把每个 MFC .cpp 中的这三句屏蔽掉就可以编译通过了。
没有评论:
发表评论