注册 登录
编程论坛 C++教室

找错213

從霝開匙 发布于 2007-09-20 16:21, 492 次点击
int ival=512 jval=1024,kval=4096;
int bufsize;
//...
switch(swt){
case ival:
bufsize=ival*sizeof(int);
break;
case jval:bufsize=jval*sizeof(int);
break;
case kval:
bufsize=kval*sizeof(int);
break;
}

书上的习题,解答说标号必须是常量表达式,他就是换了个定义
int bufsize 换成chunksize ,再把程序中的bufsize换成chunksize
不理解,大家指教一下
5 回复
#2
aipb20072007-09-20 22:17
你没找出问题的关键吧,不是换个名字就可以的。

#3
PcrazyC2007-09-21 00:49
好像不是这个问题吧,case 后面的不能是变量,应该是一个常量
#4
從霝開匙2007-09-21 10:12
是啊 ,书上是这么说的!!C++primer3解答85-86页我也看了半天,他怎么换了个参数就是是把变量换成了常量

[此贴子已经被作者于2007-9-21 10:14:04编辑过]


#5
PcrazyC2007-09-21 10:59
你是不是看错了,int ival=512 jval=1024,kval=4096;有没有换成const int ival=512 jval=1024,kval=4096;

如果加了const就没问题了
#6
從霝開匙2007-09-21 11:15
真如上面那个大哥所说的,我看掉了const .switch(swt)   swt没有定义啊 ,这里是什么意思
1