免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3632 | 回复: 13
打印 上一主题 下一主题

[C++] 输入时决定数组的长度对吗 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-11 09:01 |只看该作者 |倒序浏览
本帖最后由 chinesefys 于 2013-04-16 11:10 编辑
  1. #include <iostream>
  2. using namespace std;

  3. int main() {
  4.         int n;
  5.         cin >> n;
  6.         int a[n];
  7.         return 0;
  8. }
复制代码
1、上段代码eclipse里编译通过。
2、VS里编译不通过,“n必须为常量”。
3、C++ primer   P96,说 int n = 27;  int a[n];是错误的。

请教大家,上面的代码是依赖编译器的吗?标准里有这方面的说明吗?非常感谢啊!


已结贴!
那些回答new malloc  vector的,我就不评论了。
给出C99   GNU解释的找到了问题的核心。

论坛徽章:
1
摩羯座
日期:2013-12-19 10:04:07
2 [报告]
发表于 2013-04-11 09:21 |只看该作者
C++中这个是 是Error的

论坛徽章:
0
3 [报告]
发表于 2013-04-11 09:31 |只看该作者
GNU c 扩展支持这种写法的~~~

论坛徽章:
0
4 [报告]
发表于 2013-04-11 13:29 |只看该作者
肯定必须要求是常量啊, 数组的长度必须在编译时刻确定。

论坛徽章:
9
CU大牛徽章
日期:2013-04-17 11:06:23CU大牛徽章
日期:2013-04-17 11:08:52CU大牛徽章
日期:2013-04-17 11:09:10CU大牛徽章
日期:2013-04-17 11:09:40CU大牛徽章
日期:2013-04-17 11:09:57CU大牛徽章
日期:2013-04-17 11:10:17CU大牛徽章
日期:2013-05-20 10:43:41CU大牛徽章
日期:2013-05-20 10:44:06CU大牛徽章
日期:2013-05-20 10:44:16
5 [报告]
发表于 2013-04-11 13:43 |只看该作者
标准就是n是常量

论坛徽章:
0
6 [报告]
发表于 2013-04-11 13:53 |只看该作者
注意你这个写法是C99的标准。

论坛徽章:
6
技术图书徽章
日期:2013-11-13 11:11:27子鼠
日期:2014-02-20 17:54:13处女座
日期:2014-06-16 17:43:33午马
日期:2014-08-08 09:11:17未羊
日期:2014-08-10 11:57:072015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2013-04-11 14:05 |只看该作者
用new出来的就行了。{:3_203:}

论坛徽章:
0
8 [报告]
发表于 2013-04-11 15:28 |只看该作者
回复 6# wlmouse

你的回答比较靠谱,我查了下,C99支持不定长数组。


   

论坛徽章:
0
9 [报告]
发表于 2013-04-11 22:45 |只看该作者
如果是C++的话,尽量用STL吧,少很多麻烦。呵呵。

论坛徽章:
0
10 [报告]
发表于 2013-04-14 12:59 |只看该作者
回复 2# lin5161678

C99支持这种写法!

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP