digitalmars.D.learn - any way to initialize an array of structs to void?
struct MyStruct { disable this(); this(int a, string b) { this.a = a; this.b = b; } int a; string b; } I know there is a way to create one instance of `MyStruct` and initialize it to void. MyStruct s = void; s = MyStruct(5, "abcdef"); How can initialize an array of `MyStruct` instances to void? auto arr = new MyStruct[10]; // compile-time Error: default construction is disabled for type MyStruct.
Sep 16 2015
On Wednesday, 16 September 2015 at 14:45:06 UTC, ref2401 wrote:struct MyStruct { disable this(); this(int a, string b) { this.a = a; this.b = b; } int a; string b; } I know there is a way to create one instance of `MyStruct` and initialize it to void. MyStruct s = void; s = MyStruct(5, "abcdef"); How can initialize an array of `MyStruct` instances to void? auto arr = new MyStruct[10]; // compile-time Error: default construction is disabled for type MyStruct.MyStruct[10] arr = void; Don't do this with a dynamic array, though, as they work a bit differently from static arrays.
Sep 16 2015
On Wednesday, 16 September 2015 at 14:48:59 UTC, Meta wrote:Don't do this with a dynamic array, though, as they work a bit differently from static arrays.Unfortunately I have to deal with dynamic arrays.
Sep 16 2015
On Wednesday, 16 September 2015 at 14:51:51 UTC, ref2401 wrote:On Wednesday, 16 September 2015 at 14:48:59 UTC, Meta wrote:In that case, you can use std.array.uninitializedArray or std.array.minimallyInitializedArray as needed. http://dlang.org/phobos/std_array.html#uninitializedArrayDon't do this with a dynamic array, though, as they work a bit differently from static arrays.Unfortunately I have to deal with dynamic arrays.
Sep 16 2015
On Wednesday, 16 September 2015 at 14:57:49 UTC, Meta wrote:In that case, you can use std.array.uninitializedArray or std.array.minimallyInitializedArray as needed. http://dlang.org/phobos/std_array.html#uninitializedArrayThanks)
Sep 16 2015