RAD Studio |  |

E2107: Invalid use of template 'template' (C++)

This error results when attempting to use a template template parameter in any way other than to reference a template specialization, or to pass that parameter in turn as a template template argument to another template. For example:

Copy Code

    template<template<class T> class U>
    class foo;
    template<template<class T> class U>
    class bar
    {
    U x;// error: not a specialization
    U<U> y;// ok: used as a specialization, and as a
    // template template argument
    U<bar> z;// ok: used to reference a specialization
    };

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