Unable to push_back float64 custom msg in std::vector<std_msgs::Float64>
I have a custom message as follows:
sensor_msgs/PointCloud2 velodynepoints
float64[3] velodynenormal
and a subscriber nodelet with the following callback function
void class_name::func_name(const pkg_name::msg_file_name::ConstPtr &data)
{
for (int i = 0; i < 3; i++) {
velodyne_n.push_back(data->velodynenormal[i]);
}
}
where velodyne_n
is std::vector< std_msgs::Float64 > velodyne_n;
However, I get the following error:
no matching function for call to ‘std::vector<std_msgs::Float64_<std::allocator<void> > >::push_back(const double&)’
velodyne_n.push_back(data->velodynenormal[i]);
^
but if I define velodyne_n
as std::vector<float> velodyne_n
, I get no errors. Can someone help in pointing out where I might be going wrong? Thanks!