C2016: Wrong type of template argument

[ERROR]

Description

A template was instantiated with the wrong type template arguments.

Example
  template<class S> struct A {

  
    S s;

  
  };

  
  A<4> a;  // error

  
Tips

The instantiation of a template type must have the same argument type as the ones template specification.