Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
gcc 在赋值错误中给了我无效的左值:
-2[(size_t *)new] = 0;
将代码更改为以下使其消失:
((size_t *)new)[-2] = 0;
但据我所知,两者在 C 中都是 100% 等效的。gcc 在非左值表达式中使用前者没有问题。这只是gcc中的一个错误吗?我已经用几个版本对其进行了测试,并得到了相同的结果。
我真笨。[]比 绑定得更紧密-,所以这个表达式实际上是读取索引 2 并否定它。
[]
-