RAD Studio |  |

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

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:

Copy Code

    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

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!