У меня проблема с синтаксисом, необходимым для инициализации статического члена в шаблоне класса. Вот код (я пытался уменьшить его, насколько я мог):Инициализировать статический член внутреннего класса шаблона
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;
}
С g++
ошибка я получаю:
error: too few template-parameter-lists
Любые идеи, как инициализировать б?
Обратите внимание, что я хотел бы сохранить typedef, как в моем реальном коде, B является более сложным, чем это.
Gr, я почти избил вас :(Когда-нибудь. – GManNickG