Re: Template Explicit Instantiation error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



GodfatherofSoul <godfatherofsoul2004@xxxxxxxxx> writes:

> I'm trying to migrate some Visual Studio code to gcc, but I'm getting errors
> with some of our template usage:
>
> class ParentClass
> {
> public:
>   class NestedForwardDeclaration;
>
>   template class SomeTemplateClass<NestedForwardDeclaration>;
>
>   class NestedForwardDeclaration
>   {
>   ...
>   };
>
> };
>
> BTW, this is distilled down to the core cause of the problem, so you really
> can't see the rationale for this convention.  The complication error I get
> is on the "template class.." line:
>
> error: expected `<' before 'class'
>
> Does anyone understand why this fails?  Note that this same code compiles
> and runs with the Microsoft compiler.

The above test case (without the "...") fails because
SomeTemplateClass is not a template.

I'm not sure what you are trying to do in this code.  If you are
trying to do an explicit instantiation of a template, then you have to
do the instantiation outside of ParentClass.  You can't instantiate a
template inside a class; I'm not even sure what that would mean.

Ian

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux