流れぶった切って質問です。
クラス内クラスって、そのクラスの属するクラスへのアクセスってどうなるの?
privateにもアクセスできるのは正解?

VC8だとこんなのも通ったんだけど……

class test {
   std::string test_;
public:
   struct test2 {
      void operator()(test& value) {
         std::cout << value.test_ << std::endl;
      };
   };
public:
   test(std::string const& value) : test_(value) {};
};

int main() {
   test t("test");
   test::test2 t2;
   t2(t);
};