关于一个二维数组的定义问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 03:55:30
double Z[2*(N-1)][2*N-1];
我的N也是一个由外部输入数值的参数,输入后定义了这样一个二维数组,却出现错误,想问下错在哪里,应该怎么样修改啊。错误显示:
计\程序设计\power\power.cpp(115) : error C2057: expected constant expression
E:\毕业设计\程序设计\power\power.cpp(115) : error C2466: cannot allocate an array of constant size 0
E:\毕业设计\程序设计\power\power.cpp(115) : error C2057: expected constant expression
E:\毕业设计\程序设计\power\power.cpp(115) : error C2466: cannot allocate an array of constant size 0
E:\毕业设计\程序设计\power\power.cpp(115) : error C2087: '<Unknown>' : missing subscript
E:\毕业设计\程序设计\power\power.cpp(115) : error C2133: 'Z' : unknown size

N是外部传的参数的话,那么这个数组的大小就不定,因此在分配空间的时候不能分配,内部必须是常量,不能用变量。

ansi c/pascal都不可以定义“动态数组”,即是说,常用的数组大小是确定的。
cpp/delphi有动态数组,比如delphi里,可以在需要的时候调用setlength,调整数组大小。