[英]lvalue required as unary ‘&’ operand
我有以下几行代码:
#define PORT 9987
和
char *ptr = (char *)&PORT;
这似乎适用于我的服务器代码。 但是当我在我的客户端代码中编写它时,它会给出以下错误消息:
lvalue required as unary ‘&’ operand
我究竟做错了什么?
C预处理器在这里发挥作用。 在对代码进行预处理之后,这就是它的样子。
char *ptr = (char *)&9987;
( &
)运算符的地址可以应用于变量而不是文字。
预处理器宏没有内存,在编译时宏被替换为值。 所以这里发生的实际事情是char *ptr = (char *)&9987
;这是不可能的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.