title: std vector.data return void
body: <p>I required your help for a very strange behaviour that I can't understand.</p>
  <p>I wrote a simple usage of vector.data :</p>
  <pre><code>    void* ptr = NULL; // really initialized somewhere else
      bool* boolPtr = NULL;
      boolPtr = ((std::vector&lt;bool&gt;*)ptr)-&gt;data();
  </code></pre>
  <p>and when I compile (with -std=c++17) I got the error</p>
  <pre><code>void value not ignored as it ought to be
  </code></pre>
  <p>I try a lot a things but it seems that each time I call, from a casted vector (from void*), the data() method return a void instead of a bool*.</p>
  <p>What did I miss ?</p>