title: Object cannot be assigned because its copy assignment operator is implicitly deleted error
body: <p>In my small arkanoid clone game I'm trying to erase some values from a vector. This vector contains Brick classes, that are instantiated on the screen in a grid like pattern. When a collision happens between the ball and a brick, the brick needs to disappear. I'm trying to accomplish this with this small piece of code:</p>
  
  <pre><code>for (int i = 0; i &lt; bricks.size(); ++i)
  {
      if (bricks[i].destroyed)
      {
          bricks.erase(bricks.begin()+i);
      }
  }
  </code></pre>
  
  <p>But unfortunately I get this compile error:</p>
  
  <pre><code>Object of type 'Brick' cannot be assigned because its copy assignment operator is implicitly deleted
  </code></pre>
  
  <p>When I click on this error it brings me to this piece of code:</p>
  
  <pre><code>for (; __first != __last; ++__first, (void) ++__result)
      *__result = _VSTD::move(*__first);
  return __result;
  </code></pre>
  
  <p>Can somebody give me advice how to solve this?</p>