struct A{
  int a;
  struct B{
    static int& a;
  };
  int f(){
    a = 10;
    B::a = a;
  }
};
int main(void){
  A a;
  a.f();
}
で,
undefined reference to `A::B::a'
とエラーが出ます.
どうやって回避すればいいのでしょうか.