sha*_*kin 7 c++ syntax language-design
可能重复:
为什么我必须在C++的类声明结尾处加一个分号?
发现重复,请投票结束.
为什么类和结构必须用C++中的分号结束?
如下面的代码所示:
class myClass
{
};
struct muStruct
{
};
Run Code Online (Sandbox Code Playgroud)
Java或C#中不需要此语法.为什么C++解析器需要它?
int a,b,c,d;
int main(void) {
struct y {
}; a, b, c, d;
struct x {
} a, b, c, d;
}
Run Code Online (Sandbox Code Playgroud)
两个不同的陈述,两个完全不同的含义,都是合法的C/C++,唯一的区别是;在struct声明之后.
因为在 the 后面的下一个词}可能会声明一个所述类型的变量。这是来自 C 的遗物:
struct S { int a; } s;
s.a;
Run Code Online (Sandbox Code Playgroud)