Re: [问题] VS编译相关

楼主: Neisseria (Neisseria)   2016-03-09 10:08:36
※ 引述《ericrobin ()》之铭言:
: 首先是 array 的设定, 我希望能依照喂入的值来决定大小:
: int n, m;
: scanf("%d\n", &n);
: scanf("%d\n", &m);
: int p = m * m;
: int a[n][m][m];
: int b[p];
: int result[n];
: VC++ 在后三式会显示错误 "运算式必须要有常数值"
: 想请问要做到我需求的话该如何写才好?
可能是 scanf 那里出了问题,把 "\n" 拿掉再跑跑看
试了一下,可参考跑得动的例子 https://pastebin.com/5dapQUE4
$ g++ -o array_size array_size.cpp -std=c++14
$ ./array_size
Input n: 3
55 69 23 # numbers are randomly assigned
不过我记得 array 的长度不能用变量,但是跟这里范例不符
再请各位大大讲一下是怎么回事好了
: 这几天研究g++好久还是不知道怎用 走投无路才装了庞大的VS..结果还是没很顺囧
g++ 应该没那么难用才是
虽然参数很多,但基本的编译步骤很简单的
可能还是要看一下实际的错误讯息才知道是怎么回事
作者: crazycy (LCY)   2016-03-09 10:19:00
C++标准是说不行 可是G++有支援
作者: ericrobin   2016-03-09 10:35:00
谢谢 scanf那边确实多了\n将array 修改成常数也顺利能跑出来不过另一个问题是我设定到 int a[10][180][180]这样的大小 exe马上就会说停止运作很纳闷它上限有那么低吗....
作者: petercoin (彼得币)   2016-03-09 11:23:00
这个大小要用malloc配置内存
作者: ericrobin   2016-03-09 12:02:00
照楼上方法做问题就解决了XDhttp://jax-work-archive.blogspot.tw/2009/04/c.html
作者: petercoin (彼得币)   2016-03-09 13:42:00
我记得是stack size的限制啦

Links booklink

Contact Us: admin [ a t ] ucptt.com