使用 'typename' 关键字将非类型 "pcl::PointCloud<PointT>::Ptr [with PointT=T]" 视为依赖 contextC/C++(2675) 中的类型
use the 'typename' keyword to treat nontype "pcl::PointCloud<PointT>::Ptr [with PointT=T]" as a type in a dependent contextC/C++(2675)
我写了两个函数。
PointCloud<PointXYZ>::Ptr rotateCloud(PointCloud<PointXYZ>::Ptr src);
PointCloud<PointXYZRGB>::Ptr rotateCloud(PointCloud<PointXYZRGB>::Ptr src);
在这两个函数中,我写了完全相同的代码,没有内部 <>
。 <PointXYZ>
或 <PointXYZRGB>
.
想写单function.I听说有Template.I试过了
template <typename T>
PointCloud<T>::Ptr rotateCloud(PointCloud<T>::Ptr src);
我出错了。
use the 'typename' keyword to treat nontype "pcl::PointCloud<PointT>::Ptr [with PointT=T]" as a type in a dependent contextC/C++(2675)
我无法理解此错误消息。
谁能看懂?
由于 ::Ptr
是依赖类型,您需要 typename
参数和 return 类型
template <typename T>
typename PointCloud<T>::Ptr rotateCloud(typename PointCloud<T>::Ptr src);
我写了两个函数。
PointCloud<PointXYZ>::Ptr rotateCloud(PointCloud<PointXYZ>::Ptr src);
PointCloud<PointXYZRGB>::Ptr rotateCloud(PointCloud<PointXYZRGB>::Ptr src);
在这两个函数中,我写了完全相同的代码,没有内部 <>
。 <PointXYZ>
或 <PointXYZRGB>
.
想写单function.I听说有Template.I试过了
template <typename T>
PointCloud<T>::Ptr rotateCloud(PointCloud<T>::Ptr src);
我出错了。
use the 'typename' keyword to treat nontype "pcl::PointCloud<PointT>::Ptr [with PointT=T]" as a type in a dependent contextC/C++(2675)
我无法理解此错误消息。
谁能看懂?
由于 ::Ptr
是依赖类型,您需要 typename
参数和 return 类型
template <typename T>
typename PointCloud<T>::Ptr rotateCloud(typename PointCloud<T>::Ptr src);