appending newly initialized struct to array
simendsjo
simendsjo at gmail.com
Tue Apr 17 14:00:53 PDT 2012
On Tue, 17 Apr 2012 22:28:31 +0200, maarten van damme
<maartenvd1994 at gmail.com> wrote:
> Just for fun I decided to complete some codejam challenges in D. At some
> point I wanted to add structs to an array but I got a compiler error.
> What
> am I doing wrong?
>
> code:
> struct test{
> int x;
> int y;
> }
> void main(){
> test[] why;
> why~={3,5};
> }
>
> error:
> wait.d(7): found '}' when expecting ';' following statement
> wait.d(8): found 'EOF' when expecting ';' following statement
> wait.d(8): found 'EOF' when expecting '}' following compound statement
>
> Is there any reason a why this wouldn't work?
Sounds like a bug. C style initializers work in other cases:
struct S { int i; }
void main() {
S[] arr;
S s = { 1 };
arr ~= S(1);
// But the following barfs
//arr ~= { 1 };
//arr ~= { i:1 };
//arr[0] = { 1 };
}
More information about the Digitalmars-d-learn
mailing list