【发布时间】:2009-12-22 13:32:31
【问题描述】:
我正在尝试构建一个我收到此错误消息的块
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 myval然后尝试myval->something因为 myval 不是指针.. -
其实它可能是一个结构。我敢打赌你声明了
struct mystruct { int something; },然后尝试了struct mystruct myobj,然后是myobj->something,你的意思是myobj.something,对吧? -
感谢您使用导致错误的代码更新您的帖子。现在,你能猜到我们现在想知道什么吗?你可以吗?你可以吗?噢..你让我失望了,下一个问题是什么很明显???是的..我们想知道
WORK_source_circle_f和WORK_migration_ind_f的类型..你不想知道吗?你难道一点都不好奇为什么你的编译器认为你没有使用指针吗?我很好奇,我希望你也很好奇!饿了!渴望获得这些知识!当你渴望真相时,编程很有趣:) -
让我们知道
migration_status_in_MI9_CIRCLE_INFO的原型是什么——也许它没有返回一个指针..如果你很难找到定义,值得看看grep工具. -
.. 任何在场的律师都应该引用我来纠缠证人..