staticで怒られた・・・

C++ではstaticの記述は(ファイルスコープ時には)無名名前空間(namespace)推奨とのこと・・・
なにやらundefined functionとかで怒られる。<これは自分のミス

class a{
public:
  void set(a* p);
  a* get();
private:
  //static a* a_ptr;  << これはファイルスコープではよくないらしい・・・
}
namespace{  <<これがナウいらしい
  a* a_ptr; 
};

void a::set(a*p){
  a_ptr = p;
}
a* a::get(){
  return a_ptr;
}

こんな自分のクラスポインタを静的に持つとか一体何に使うんだとか突っ込まれそうだけど、そこはソースが長くなるので割愛。

uskzさんよりご指摘を頂きました。ありがとうございます。