usando um static const int em uma struct / class

struct A {
    static const int a = 5;

    struct B {
       static const int b = a;
    };

 };

 int main() {
   return A::B::b;
 }

O código acima compila. No entanto, se você passar pelo livro Effective C ++ de Scott Myers (pág. 14); Precisamos de uma definição para além da declaração. Alguém pode explicar por que isso é uma exceção?

questionAnswers(4)

yourAnswerToTheQuestion