digitalmars.D.learn - struct construct with array
- Caligo (13/13) Mar 12 2011 struct Test{
- =?ISO-8859-1?Q?Ali_=C7ehreli?= (11/24) Mar 12 2011 Even a simpler code doesn't work:
- =?ISO-8859-1?Q?Ali_=C7ehreli?= (5/39) Mar 12 2011 I see from the other posts that the problem has something to do with
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?
Mar 12 2011
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
Mar 12 2011
On 03/12/2011 02:52 PM, Ali Çehreli wrote:On 03/12/2011 10:42 AM, Caligo wrote:I see from the other posts that the problem has something to do with auto. This works: double[3] v3 = v1[] + v2[]; Alistruct 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
Mar 12 2011