gpt4 book ai didi

c - 是否不允许对操作的左值进行类型转换?

转载 作者:行者123 更新时间:2023-12-02 06:32:36 25 4
gpt4 key购买 nike

我有下面的代码,我正在做一个整数指针到 void 指针的类型转换,并尝试分配 char 地址。

void main()
{
int *ptr;
char a = 10;
(void *)ptr = &a;
printf("%d\n", *ptr);
}

我遇到了以下错误,无论如何我可以解决这个问题吗?

error: lvalue required as left operand of assignment
(void *)ptr = &a;

最佳答案

对左值的转换是有效的,即 (void *)ptr 本身是有效的,但它不再是左值。这称为左值转换

修复,正如@Joachim 评论的那样:

ptr = (int *) &a;

关于c - 是否不允许对操作的左值进行类型转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116881/

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