title: Call to implicitly-deleted default constructor
body: <p>I get the error message <em>Call to implicitly-deleted default constructor of 'std::array'</em> when I try to compile my C++ project.</p>
  
  <p>Header file cubic_patch.hpp</p>
  
  <pre><code>#include &lt;array&gt;
  class Point3D{
  public:
      Point3D(float, float, float);
  private:
      float x,y,z;
  };
  
  class CubicPatch{
  public:
      CubicPatch(std::array&lt;Point3D, 16&gt;);
      std::array&lt;CubicPatch*, 2&gt; LeftRightSplit(float, float);
      std::array&lt;Point3D, 16&gt; cp;
      CubicPatch *up, *right, *down, *left;
  };
  </code></pre>
  
  <p>Source file cubic_patch.cpp</p>
  
  <pre><code>#include "cubic_patch.hpp"
  Point3D::Point3D(float x, float y, float z){
      x = x;
      y = y;
      z = z;
  }
  
  CubicPatch::CubicPatch(std::array&lt;Point3D, 16&gt; CP){// **Call to implicitly-deleted default constructor of 'std::arraw&lt;Point3D, 16&gt;'**
      cp = CP;
  }
  
  std::array&lt;CubicPatch*, 2&gt; CubicPatch::LeftRightSplit(float tLeft, float tRight){
      std::array&lt;CubicPatch*, 2&gt; newpatch;
      /* No code for now. */
      return newpatch;
  }
  </code></pre>
  
  <p>Could someone tell me what is the problem here, please ? I found similar topics but not really the same and I didn't understand the explanations given.</p>
  
  <p>Thanks.</p>