title: Compiler error info : No matching function for call to FUNCTION(TYPES ARGS) with unused typename template
body: <p>I have had an issue with this bit of code, and compiler info didn't help much.</p>
  <p>I have a structure where I define an unsigned int array in a structure :</p>
  <pre><code>struct TypeHolder {
      uint8_t byte_size;
      uint8_t values[8]{ 0 };
  
      TypeHolder() {
          byte_size = 0;
      };
      
      uint16_t calcCRC() {
        return Faster_CRC16(values);
      };
  };
  </code></pre>
  <p>And a function <code>Faster_CRC16</code> which goes as follows :</p>
  <pre><code>template &lt;typename any_type&gt;
  uint16_t Faster_CRC16(uint8_t* data_string_litteral){
    /* bunch of stuff */
      uint8_t b = data_string_litteral[j - 1]; // access an item of the array through indexation
    /* bunch of stuff */
    return crc_data;
  };
  </code></pre>
  <p>When compiling this on Arduino and VisualStudio2019 (compiler MSVC), both returns error message :</p>
  <blockquote>
  <p>no matching function for call to 'Faster_CRC16(uint8_t [8])'</p>
  </blockquote>
  <p>It is a strange info, as <code>uint8_t values[8];</code> is supposed to be equivalent to <code>uint8_t* values;</code> in the fact that both represent a variable holding a pointer to an address.</p>