E2389 Mismatch in kind of substitution argument and template parameter 'parameter' (C++)

From RAD Studio
Jump to: navigation, search

Go Up to Compiler Errors And Warnings (C++) Index

When referencing a template specialization, all type parameters must be satisfied using type arguments, all non-type parameters require non-type arguments, and all template template parameters require either a template name, or another template template argument. Mismatching these requirements in any way will trigger the above error. For example:

template<class T, int U, template<class V> class W>
class foo;
foo<char, 10, foo> x;    // OK: all parameter kinds match
foo<10, char, int> y;    // error: no parameter kinds match at all!