C++语句错误 invalid types `int[int]' for array subscript

时间:2013.12.14 发布人:Q381706537

C++语句错误 invalid types `int[int]' for array subscript

已解决问题

谷歌Q381706537用户在2013.12.14提交了关于“拉莫斯C++语句错误 invalid types `int[int]' for array subscript”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-27T06:39:35。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,当代劳模,所有人都应该向你学习 !

希望以下的回答,能够帮助你。

第1个回答

用户名:**888来自8110  

C++不支持动态数组,比如像Basic中的Redim,Pascal中的SetLength脸刻火酒假具酒等;

C++中的动态数组是以动态内存分配来实现的,即用new和delete动问答态分配和删除数组空间,所以像intRev[len];这样的定义是非法的。

根据楼主说的main函数中可以编译,那可能是在main函数中,len被赋予了常量,希损春确宪张这样C++能够根据语法判断出实际是类似于intR变烈其伯器七校轻ev[10]这样语的定义,所以是可以编译啊形任吸品光角采日情通过的。

但是在函数中,上述定义是不行的,因为函数调意圆与拉铁误活武松用时,编译器无法判断传递来的参数是否是编译期的常量,这样就构成了动态数组的定义,这在C++中是非法的。

扩展**:

在C++中,类是支持**封装的工粳对象则是**封装的实现。C++通过建立用户定义类支厂钟亚握基胡川持**封装和**隐藏。

在面向对象的程序设计中项测市搞又述食断则,将**和对该**进行合法操作的函数封装在一起作为一个类的定义。对象被说明为具有一个给定类的变量。每个给定类的对象包含这个类所规定的若干私有成员、公有成员及保护成员。

完好定义的类一旦建立,就可看成完全封装的实体,可以作为一个整体单元使用。类的实际**工作隐藏起来,使用完好定义的类的用户不需要知道类是如何工作的,只要知道如何使用它即可。

参考**来源:百度百科-C++