title: Conversion in Point Cloud Library from proprietary format to float; no matching function found
body: <p>I have what I think is a fairly basic question about a conversion in the <a href="http://www.pointclouds.org" rel="nofollow">point cloud library</a> from a proprietry data type to float. My issue I think comes from a lack of experience with templates, data types and C++ in general.</p>
  
  <p>The function that should perform this conversion is <a href="http://docs.pointclouds.org/1.0.1/classpcl_1_1_default_point_representation_3_01_f_p_f_h_signature33_01_4.html#aae8d2a0cb1e0e55a1c33f9dcc63492cf" rel="nofollow">copyToFloatArray</a>, defined in the documentation as:</p>
  
  <blockquote>
    <p>virtual void pcl::DefaultPointRepresentation&lt; FPFHSignature33 >::copyToFloatArray (   const FPFHSignature33 &amp;     p,
    float *     out<br>
    )            const [inline, virtual]</p>
    
    <p>Copy point data from input point to a float array.</p>
    
    <p>This method must be overriden in all subclasses.</p>
    
    <p>Parameters:</p>
    
    <p>p     The input point</p>
    
    <p>out   A pointer to a float array.</p>
    
    <p>Implements pcl::PointRepresentation&lt; FPFHSignature33 >.</p>
  </blockquote>
  
  <p>I have attempted to implement it as follows:</p>
  
  <pre><code>pcl::PointCloud&lt;pcl::FPFHSignature33&gt;::Ptr fpfhs (new pcl::PointCloud&lt;pcl::FPFHSignature33&gt; ());
  // populate fpfh...
  float **myArray;
  pcl::DefaultPointRepresentation&lt; pcl::FPFHSignature33 &gt;::copyToFloatArray ( &amp;fpfhs, &amp;**myArray);
  </code></pre>
  
  <p>The error that's thrown up at compilation time is as follows:</p>
  
  <pre><code>/home/bc/PCL/pcd_read.cpp: In function ‘int main(int, char**)’:
  /home/bc/PCL/pcd_read.cpp:68: error: no matching function for call to 
  ‘pcl::DefaultPointRepresentation&lt;pcl::FPFHSignature33&gt;::copyToFloatArray(boost::shared_ptr&lt;pcl::PointCloud&lt;pcl::FPFHSignature33&gt; &gt;*, float*)’
  /usr/include/pcl-1.2/pcl/point_representation.h:254: note: candidates are: 
  virtual void pcl::DefaultPointRepresentation&lt;pcl::FPFHSignature33&gt;::copyToFloatArray(const pcl::FPFHSignature33&amp;, float*) const
  make[2]: *** [CMakeFiles/pcd_read.dir/pcd_read.cpp.o] Error 1
  make[1]: *** [CMakeFiles/pcd_read.dir/all] Error 2
  make: *** [all] Error 2
  </code></pre>
  
  <p>It appears that the issue is in the first argument being passed to the function, but I can't seem to create a <code>const FPFHSignature33 &amp; p</code> object.</p>
  
  <p>Does anyone have any idea if these suspicions are correct, and if so what direction I might take to start to resolve the issue?</p>
  
  <p>Thanks for any help.</p>