E2405 Dependent template reference 'identifier' yields non-template symbol (C++)

From RAD Studio
Jump to: navigation, search

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

If a template specialization reference within a template declaration yields a reference to a non-template during type instantiation, the above error will result. For example:

template<class T>
class foo
{
typename T::template A<int> x;  // "A" must be a member template
};
struct bar {
struct A { };
};
foo<bar> y;// error: bar::A is a non-template class!