您好我正在尝试使用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();
}
答案 0 :(得分:4)
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();}