J'ai un problème avec la syntaxe requise pour initialiser un membre statique dans un modèle de classe. Voici le code (j'ai essayé de réduire autant que possible):Initialiser le membre statique de la classe interne du modèle
template <typename T>
struct A
{
template <typename T1>
struct B
{
static T1 b;
};
B<T> b;
typedef B<T> BT;
T val() { return b.b; }
};
template <typename T>
T A<T>::BT::b;
struct D
{
D() : d(0) {}
int d;
};
int main()
{
A<D> a;
return a.val().d;
}
Avec g++
, l'erreur que je reçois est:
error: too few template-parameter-lists
Toutes les idées comment initialiser b? Notez que je voudrais garder le typedef, comme dans mon code réel, B est beaucoup plus complexe que cela.
Gr, je t'ai presque battu :(Un jour. – GManNickG