sagen, dass ich die folgende Klasse haben:Wie spezialisiere ich ein statisches Mitglied einer Template-Klasse auf einem Template-Typ?
struct B
{
};
template<>
int A<B>::value = 1;
Ich möchte spezialisieren A :: Wert auf eine Vorlagentyp, I:
template<class T>
struct A
{
static int value;
};
template<class T>
int A<T>::value = 0;
I A::value
auf konkreter ohne Probleme spezialisieren folgendes versucht:
template<class T>
struct C
{
};
// error: template definition of non-template 'int A<C<T> >::value'
template<>
template<class T>
int A<C<T> >::value = 2;
gibt es eine Möglichkeit, dies zu tun, oder ist es nur möglich, einen :: Wert auf nicht-Template-Typen zu spezialisieren?
+1: können Sie Wertsein:: Wert. – Chubsdad
@Chubsdad es ist eine Definition der OP A :: Wert. Vaue :: Wert benötigt keine Definition. –