illegal indirection

qq7825591 2008-03-23 03:31:06
#include <stdio.h>
#define I 100;
void main(){
int number ;
float rate;
double result;
if(number<5)
rate=0;
else if(number<10)
rate=0.01f;
else if(number<20)
rate=0.02f;
else if(number<30)
rate=0.04f;
else rate=0.06f;
result=number*I*(1+rate);
printf("应支付金额:%f",result);
}


出现以下问题
:\documents and settings\ss\my documents\visual studio 2005\projects\hello\hello\hh.cpp(16) : error C2100: illegal indirection
...全文
1115 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxc25 2008-11-02
  • 打赏
  • 举报
回复
#define I 100;
wang0635 2008-11-02
  • 打赏
  • 举报
回复 1
第16行
result=number*I*(1+rate);
预处理之后变成了
result=number*100;*(1+rate);
因为#define I 100; 的缘故
这个*(1+rate); 就是无效的间接访问(illegal indirection),因为rate不是地址
awqwqw 2008-11-01
  • 打赏
  • 举报
回复
rate=0.01f; 这语句正确吗?
f是什么?
UltraBejing 2008-05-01
  • 打赏
  • 举报
回复
等待牛人来答.
dzgcxy 2008-04-07
  • 打赏
  • 举报
回复
number没有赋值
iFree 2008-03-23
  • 打赏
  • 举报
回复
楼上正解!!
cnzdgs 2008-03-23
  • 打赏
  • 举报
回复
#define最后是不需要加分号的。

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧