[英]syntax error in C
我正在尝试建立一个获取此错误消息的块
pprbc_CONTENT_icverification_act.c", line 99.2: 1506-018 (S) Operand of indirection operator must be a pointer expression
谁能解释一下这是什么意思?
下面的代码:
*(WORK_migration_ind_f) =
*(migration_status_in_MI9_CIRCLE_INFO(WORK_source_circle_f));
是的,您在不是指针的内容前加上“ *”。
如果您发布涉及的代码行,那么您将对自己和所有人都有利。
大概您有这样的代码:
int x;
*x; // apply indirection to non-poiner
但是,如果没有看到导致错误消息的实际代码,就不可能说。
*
(间接)运算符取消引用指针; 也就是说,它将指针值转换为l值。 间接运算符的操作数必须是指向类型的指针。
变量WORK_migration_ind_f
或函数migration_status_in_MI9_CIRCLE_INFO
的返回类型(或两者)都不是指针类型。 您只能取消引用指针。
如果您有如下代码:
int *pi;
int i;
int f(void);
int *pf(void);
然后,以下“有意义”:
*pi /* is of type int */
*pf() /* is of type int */
以下不是:
*i /* can't dereference a non-pointer */
*f() /* can't dereference a non-pointer */
如果您向我们展示WORK_migration_ind_f
和WORK_migration_ind_f
的声明,我们可以告诉您更多信息,但是我认为您现在应该能够自己找出错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.