【发布时间】:2013-06-19 18:26:19
【问题描述】:
我正在尝试使用我的常量字段作为其维度来定义一个多维数组,但我收到一个编译错误,指出表达式不是常量。有没有其他方法可以使用构造函数初始化列表中定义的常量字段作为数组维度?
为说英语的大多数人翻译:
class FunctionWave2D : public DisallowedDomainPoints
{
protected:
double th;
double l; a
double d, dd;
const int number_sqrt; //here's the constant
double **second_derivatives;
protected:
bool elasticTenstionOnly;
public:
FunctionWave2D(int number, double elasticModulus, double dampingFactor, double oscillationDampingFactor, double length)
:DisallowedDomainPoints(number * LAYER_COUNT),
th(elasticModulus), d(dampingFactor), dd(oscillationDampingFactor),
elasticTensionOnly(false),
l(length/(sqrt(number)-1)),
number_sqrt(sqrt(number))
{
second_derivatives = new double[number_sqrt][number_sqrt][LAYER_COUNT];
//(...)
【问题讨论】:
-
@AJMansfield 它可能是本地语言,而不是被混淆
-
(我认为是波兰语)
-
@AJMansfield 变量是合理的,它是波兰语。虽然它们很长
-
@ShamimHafiz 我猜你可能是对的。不过名字还是不好。
-
好的,各位,我已经编辑了我的评论。
标签: c++ arrays multidimensional-array