Eri*_*hil 5 c struct for-loop clang language-lawyer
带有clang-902.0.39.2的Apple LLVM 9.1.0,使用-std=c11,接受:
typedef struct { int i; float f; } S;
for (S s = { 0, 0 }; s.i < 25; ++s.i, s.f = i/10.f)
…
Run Code Online (Sandbox Code Playgroud)
但拒绝:
for (struct { int i; float f; } s = { 0, 0 }; s.i < 25; ++s.i, s.f = s.i/10.f)
…
Run Code Online (Sandbox Code Playgroud)
随着消息:
错误:'for'循环中声明非局部变量
Clang是否正确拒绝这一点,因为它违反了C标准中的某些约束?哪个条款和段落?或者它是一个Clang bug?
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |