I'm attempting to compile the following:
template<typename T>
class Foo {
protected:
   static Foo<T>* pool[5];
public:
   static Foo* Bar() {
      pool[1] = new Foo();
   }
};
int main() {
   Foo<int>* b = new Foo<int>();
   b->Bar();
}
I get the error:
 undefined reference to `Foo<int>::pool'
How to I cause the pool array to be defined?
 
     
    