代码之家  ›  专栏  ›  技术社区  ›  sharkin

类和结构后的分号[重复]

  •  5
  • sharkin  · 技术社区  · 16 年前

    可能重复:
    Why must I put a semicolon at the end of class declaration in C++?

    duplicate

    为什么C++中的类和结构必须用分号来结束?

    类似于以下代码:

    class myClass
    {
    
    
    
    };
    
    struct muStruct
    {
    
    };
    

    3 回复  |  直到 8 年前
        1
  •  11
  •   DigitalRoss    16 年前

    int a,b,c,d;
    int main(void) {
        struct y {
      }; a, b, c, d;
        struct x {
      } a, b, c, d;
    }
    

    两种不同的说法,两种完全不同的含义,既有合法的C/C++,又有唯一的区别 ; 在结构声明之后。

        2
  •  5
  •   Jonathan Graehl    16 年前

    因为后面的下一个单词 }

    struct S { int a; } s;
    s.a;
    
        3
  •  2
  •   Michael    16 年前

    以下内容在C++中是合法的:

    struct MyStruct
    {
    } anInstanceOfMyStruct;
    
    struct
    {
    } anInstanceOfAnUnnamedStruct;
    

    您需要分号来表示您没有创建新实例。C#和Java的语言设计者显然不认为允许这样做是对他们的语言的有益补充。