title: how convert std::array<char, N> to char (&dest)[N]?
body: <p>What is the way to pass <code>std::array&lt;char, N&gt;</code> to
  such function:</p>
  
  <pre><code>template&lt;size_t N&gt;
  void safe_func(char (&amp;dest)[N]);
  </code></pre>
  
  <p>?</p>
  
  <p>I try this one:</p>
  
  <pre><code>#include &lt;array&gt;
  
  template &lt;size_t N&gt; using SafeArray = char[N];
  
  template &lt;size_t N&gt; void safe_func(char (&amp;dest)[N]) {}
  
  int main() {
    SafeArray&lt;10&gt; a1;
    safe_func(a1);
    std::array&lt;char, 10&gt; a2;
    safe_func(*static_cast&lt;SafeArray&lt;10&gt; *&gt;(static_cast&lt;void *&gt;(a2.data())));
  }
  </code></pre>
  
  <p>It works, but I doubt, may be something wrong with my cast,
  and on other compiler or platform (I used gcc/linux/amd64),
  I faced with wrong reference?</p>