⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 forward-inner.c

📁 用于进行gcc测试
💻 C
字号:
// Check that the compiler warns about inner-style forward declarations in// contexts where they're not actually illegal, but merely useless.// Verify warnings for and within classes, and by extension, struct and union.class C1;class C1::C2;      // { dg-error "does not name a type" }class C1::C2::C3;  // { dg-error "has not been declared" }class C1 { public:  class C2;  class C2::C3;    // { dg-error "does not name a type" }  class C2 {   public:    class C3;    class C3 { };    class C3;  };  class C2;  class C2::C3;    // { dg-warning "declaration 'class C1::C2::C3' does not declare anything" }};class C1;class C1::C2;      // { dg-warning "declaration 'class C1::C2' does not declare anything" }class C1::C2::C3;  // { dg-warning "declaration 'class C1::C2::C3' does not declare anything" }// Verify warnings for namespace scopes.class N1::C4;      // { dg-error "has not been declared" }class N1::N2::C5;  // { dg-error "has not been declared" }namespace N1 {  class C4;  class C4 { };  class C4;  class N2::C5;    // { dg-error "has not been declared" }  namespace N2 {    class C5;    class C5 { };    class C5;  }  class N2::C5;    // { dg-warning "declaration 'class N1::N2::C5' does not declare anything" }}class N1::C4;      // { dg-warning "declaration 'class N1::C4' does not declare anything" }class N1::N2::C5;  // { dg-warning "declaration 'class N1::N2::C5' does not declare anything" }// Verify that using declarations related to namespaces don't generate a// warning.using namespace N1;using namespace N1::N2;namespace N3 {  using N1::C4;      // Valid using declaration, no warning  using N1::N2::C5;  // Valid using declaration, no warning}// Verify that explicit template instantiations, easy to confuse with// forward declarations, don't generate a warning.template<class C>class TC6 { public:  class TC7 { };};template class TC6<int>::TC7;  // Valid explicit instantiation, no warning// Verify that friend declarations, also easy to confuse with forward// declrations, are similarly not warned about.class C8 { public:  class C9 { };};class C10 { public:  friend class C8::C9;         // Valid friend declaration, no warning};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -