Creating a PCL point cloud using a container of Eigen Vector3d
Since PCL seems to use a float[4] to store the points, when you specify pcl:PointXYZ, you will have to copy each element individually (not tested):
pc->points.resize( v.size() );
for(size_t i=0; i<v.size(); ++i)
pc->points[i].getVector3fMap() = v[i].cast<float>();
if you used a vector4d instead and ensured that the last coefficient of each element is 0, you could do a memcpy or even a swap (with a bit of trickery).