以下代码编译,
struct sigaction sa;
memset (&sa, 0, sizeof (sa));
sa.sa_handler = &handler;
sigaction (SIGRTMIN + 5, &sa, NULL);
Run Code Online (Sandbox Code Playgroud)
但如果我省略struct它会给我错误:
预期';' 在'sa'之前
我正在使用c ++,其中使用struct关键字不是必需的.
我用它时它是如何工作的struct.
在C中,结构标签位于与其他名称不同的名称空间中,因此它们不会发生冲突.在C++中,语言中有一个特殊的hack来支持这一点:除了通常的函数重载之外,你可以在同一范围内有两个相同的符号,一个是指定类类型或枚举的类型名称.查找名称时,编译器将选择不是类型名称的名称,除非名称紧跟在类键(class,struct或union)或关键字之后enum.
| 归档时间: |
|
| 查看次数: |
1202 次 |
| 最近记录: |