首页 新闻 会员 周边

表达式必须是类类型

0
[已解决问题] 解决于 2014-03-06 08:41

定义了数组:byte message[];

然后后来用到时:message.length提示表达式必须是类类型

没有豆有人解答吗

C++
零度storm的主页 零度storm | 初学一级 | 园豆:167
提问于:2014-03-05 17:11
< >
分享
最佳答案
0

在C++里面数组不是用户自定义的类,所以不是类类型,只有定义了类或者结构并在里面添加数据成员或函数,才会出现通过.调用内部数据成员或者函数的用法。你这个byte数组就只有n个byte类型的数据,哪里来的length数据成员呢。。。。。还没有学习类么

奖励园豆:5
Mushroom0417 | 菜鸟二级 |园豆:327 | 2014-03-05 20:41

谢谢

零度storm | 园豆:167 (初学一级) | 2014-03-06 08:39
其他回答(3)
0

byte[] message?

飞扬的尘埃 | 园豆:1318 (小虾三级) | 2014-03-05 17:14

这个是啥意思啊

支持(0) 反对(0) 零度storm | 园豆:167 (初学一级) | 2014-03-05 17:15

@零度storm: 啊,不好意思,才注意到是C++

C++定义数组难道不要指定长度咩?

支持(0) 反对(0) 飞扬的尘埃 | 园豆:1318 (小虾三级) | 2014-03-05 17:20

@飞扬的尘埃: 不用,不是这个的问题,就算new的变量他也提示这个错误

支持(0) 反对(0) 零度storm | 园豆:167 (初学一级) | 2014-03-05 17:53

@零度storm: 那么,C++数组有 length 这个语法?

难道不是 int length = sizeof(message)/sizeof(byte) ?

支持(0) 反对(0) 飞扬的尘埃 | 园豆:1318 (小虾三级) | 2014-03-05 17:58

@飞扬的尘埃: 谢谢

支持(0) 反对(0) 零度storm | 园豆:167 (初学一级) | 2014-03-06 08:40
0

C++ 中没有这种语法。

Launcher | 园豆:45045 (高人七级) | 2014-03-05 17:14
0

C++中数组定义有两种。

  • int arr[10]                  这种方法就必须指定长度
  • int arr[] = {1,2,3,4}   这种就不用,但是也相当于给它指定了长度
danielanlin | 园豆:222 (菜鸟二级) | 2014-03-05 17:41

不是这个的问题,我就算给他长度或者new一个也是提示这个错误

支持(0) 反对(0) 零度storm | 园豆:167 (初学一级) | 2014-03-05 17:56

谢谢

支持(0) 反对(0) 零度storm | 园豆:167 (初学一级) | 2014-03-06 08:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册