【发布时间】:2012-06-19 08:38:12
【问题描述】:
我有一个动态数组,我用我的类中的一个函数为它分配内存:
double *val;
int n; // dimension
void alloc (int nn) { // memory allocation for vector
n = nn;
val = new double[n];
}
但是当我尝试将数据放入 main 中时,我遇到了以下问题:
当我输入时:
a.val[3] = {1.0 , 1.0 , 1.0};
我收到以下非常模棱两可的错误:
syntax error : missing ';' before '{'
syntax error : '{'
但是当我输入时:
a.val[1]=1.0;
a.val[2]=1.0;
a.val[3]=1.0;
它工作得很好。有人知道为什么吗?
【问题讨论】:
-
双精度数组。两者都应该做同样的事情,不是吗?我知道 a.val[3] = {1.0 , 1.0 , 1.0};版本一般是正确的..
标签: c++ dynamic array-initialization