Afficher un message
Vieux 22/02/2008, 16h03   #2
Victor Bazarov
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Error while Executing template Code

Pallav singh wrote:
> Hi
>
> can any one provide solution for it
>
> Thanks
> Pallav
>
> ---------------------------------------------------------------------------------------------------------------------------
>
> template<typename T>
> class BXT {
> public:
> typedef T Mystery;
> template<typename U>
> struct Magic;
> };
>
> template<typename T>
> class DXTT : private BXT<T> {
> public:
>
> typename BXT<T>::Mystery * p;


OK, this defines 'p' as a pointer to a BXT<T>::Mystery object.

> template BXT<T>::template Magic<U> * plink;


There is no 'U' in the context of this (DXTT) class. What is
'plink' supposed to be? A pointer to what? Since the type
'BXT<T>::Magic' is not really a type, but a *template*, you
cannot declare a pointer to it. You have to instantiate it
first. In your case 'Magic' needs the list of arguments, and
it should have only one element. What is it supposed to be?

If the argument for 'Magic' is, for instance, 'int', then the
declaration of 'plink' would be

typename BXT<T>::Magic<int> * plink;

But you have given _no_ indication what you want to use as the
argument for 'Magic' template. Perhaps your 'DXTT' template
needs to have two arguments, 'T' and 'U'?

> // I am getting at this Line
> // can anyone suggest Soltuion for it
>
> };


V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask


  Réponse avec citation
 
Page generated in 0,04893 seconds with 9 queries