the template parameter list for 'function' is incompatible with the template parameter list for its parent class 'class'
The compiler found non-type template parameters with different names. A class template definition may have been modified without updating the out-of-line member function definitions. The following sample generates C4360:
template <class T, T::aaa_t x> class C { public: void f(); }; template <class T, T::bbb_t x> void C<T,x>::f() { // C4360 } // try ... // template <class T, T::aaa_t x> void C<T,x>::f() { void main() { }