gpt4 book ai didi

c - gcc 对什么是左值感到困惑?

转载 作者:行者123 更新时间:2023-12-01 06:16:04 25 4
gpt4 key购买 nike

gcc 在赋值错误中给我无效的左值:

-2[(size_t *)new] = 0;

将代码更改为以下使其消失:

((size_t *)new)[-2] = 0;

但据我所知,两者在 C 语言中是 100% 等价的。gcc 在非左值表达式中使用前者没有问题。这只是gcc中的一个错误吗?我用几个版本对其进行了测试并得到了相同的结果。

最佳答案

我傻了。 []- 绑定(bind)得更紧密,所以这个表达式实际上是读取索引 2 并将其取反。

关于c - gcc 对什么是左值感到困惑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4378474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com