On 03/12/2011 02:52 PM, Ali Çehreli wrote:
On 03/12/2011 10:42 AM, Caligo wrote:
struct Test{

public double[3] ar_;
this(double[3] ar){
this.ar_ = ar;
}
}

void main(){

double[3] v1 = [1.0, 2.0, 3.0];
double[3] v2 = [2.0, 3.0, 4.0];

auto t1 = Test(v1[0..$] + v2[0..$]); // error

}


I want to add those two arrays and call the constructor in one line,
but I'm
getting an error. Any ideas?


Even a simpler code doesn't work:

double[3] v1 = [1.0, 2.0, 3.0];
double[3] v2 = [2.0, 3.0, 4.0];

auto result = v1[0..$] + v2[0..$];

Error: Array operation v1[0LU..__dollar] + v2[0LU..__dollar] not
implemented

The following doesn't work either:

auto result = v1[] + v2[];
auto result = v1 + v2;

dmd does not implement those features yet.

Ali

I see from the other posts that the problem has something to do with auto. This works:

    double[3] v3 = v1[] + v2[];

Ali

Reply via email to