Before C++11, you can only initialise a static const data member in the class definition:
static const unsigned long b = 100;
This is usually what you want anyway. It doesn't make much sense to have all instances of a
have this constant value duplicated among them.
If you enable C++11 support, your code will compile.