E2386 Cannot involve parameter 'parameter' in a complex partial specialization expression (C++)

From RAD Studio
Jump to: navigation, search

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

When declaring or defining a template class partial specialization, it is illegal to involve any of the non-type template parameters in complex expressions. They may only be referenced by name. For example:

template<class T, int U>
class foo;
template<int U>
class foo<char, U * 3>;// error: "U * 3" is a complex expression
template<int U>
class foo<char, U>;// OK: "U" is a simple, by-name expression