Re: template specializiation

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

 



Thomas,

  Sure.  What version of Visual Studio are you using as I don't know
that I've had to use this in my MSVC development yet.

14.7.3.15

An explicit specialization of a static data member of a template is a
definition if the declaration includes an
initializer; otherwise, it is a declaration. [Note: there is no syntax
for the definition of a static data member
of a template that requires default initialization.
template<> X Q<int>::x;
This is a declaration regardless of whether X can be default
initialized (8.5). ]

corey

On 7/7/05, Thomas Neumann <tneumann@xxxxxxxxxxxxxxxxxxxxx> wrote:
> Hi,
> 
> > Would this not work for you?
> >
> 
> > template<> const A B<d>::b;
> > template<> const A B<c>::b;
> >
> > template<> const A B<c>::b = { &B<d>::b };
> > template<> const A B<d>::b = { &B<c>::b };
> 
> hmm, perhaps it _should_ work :) Gcc and Comeau accept it, but Microsoft
> and Borland complain about multiple definitions of B<d>::b and B<c>::d.
> Perhaps I see compiler bugs here, but I would think that they are right.
> Any pointers to the standard?
> 
> Thomas
>


[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