I have the following code:
template <typename T>
class A {
public:
static int a;
};
class B {
public:
static A<int> a1;
static A<double> a2;
};
int B::a1::a = 0; --> It gives an error "a1 is not a class, namespace, enumeration"
(I am using llvm compiler in XCode. I can reproduce the problem with gcc as well.)
How can I Declare/define/initialize a static member variable of template classes as static member variables of a class?