【发布时间】:2014-07-29 07:35:01
【问题描述】:
您好,我正在尝试使用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();
}
【问题讨论】:
-
你可以做
typedef CTest::CA CA;