不允许使用带类的关键字

using keyword with class not allowed?

本文关键字:关键字 不允许      更新时间:2023-10-16

嗨,我试图使用using关键字使用嵌套在另一个类。这在课堂上可行吗?我知道auto会这样做,它会与名称空间、基类和函数一起工作。

我对类的假设不正确吗?

返回以下错误

 error: ‘CTest’ is not a namespace

源代码下面

class CB {
  public: 
   void foo();
};
class CTest  { 
  public:   
    void foo();
  private:
    class CA {
      public:
        void foo() ;
    };        
  private:
    class CB b_;
    friend class CTest::CA;
    friend class CB;
};
void CTest::foo() { b_.foo();}
void CTest::CA::foo() { std::cout << "ciao" << std::endl;}
void CB::foo() { using CTest::CA; CA a; a.foo();}   
int main() {
  CTest obj;
  obj.foo();
}

c++ 11:

void CB::foo() { using CA = CTest::CA; CA a; a.foo();}   
c++ 98:

void CB::foo() { typedef CTest::CA CA; CA a; a.foo();}