不允许使用带类的关键字
using keyword with class not allowed?
嗨,我试图使用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();}
相关文章:
- 为什么 Clang 不允许"and"作为函数名称?
- 不允许在向量中添加更多元素
- std::带有自定义缓冲区的 iostream 不允许我写入
- Visual Studio 2017 不允许我创建 C++ 专用模板
- 返回时不允许隐式转换
- 为什么 c++(g++) 不允许模板返回类型和函数名称之间有空格?
- 为什么"delete"关键字不删除节点?
- 为什么 c++ 不允许(自动)强制转换?
- 为什么 c++11 不允许使用自动
- 为什么不允许成员函数和非成员函数之间的函数重载?
- 为什么不允许使用可变长度数组作为向量元素?
- 余数除法和不允许除以零 (c++) 时遇到问题
- C++从外部类继承的嵌套类;不允许使用不完整的类型
- 在 c++ 中三元运算符中不允许继续(关键字)吗?
- 为什么在指向对象的迭代器上调用函数不允许我更改对象本身?
- 错误:在第 6 行'{'标记之前,此处不允许使用函数定义
- 为什么Visual Studio(2017;15.7.5)不允许我更改c ++关键字颜色
- 为什么函数允许变量名和数据类型名,但关键字不允许
- 不允许使用带类的关键字
- 为什么不允许将类成员定义的' static '关键字放在命名空间范围内?