Thread overview
any way to initialize an array of structs to void?
Sep 16, 2015
ref2401
Sep 16, 2015
Meta
Sep 16, 2015
ref2401
Sep 16, 2015
Meta
Sep 16, 2015
ref2401
September 16, 2015
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.
September 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.
September 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.
September 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:
>
>> 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.

In that case, you can use std.array.uninitializedArray or std.array.minimallyInitializedArray as needed.

http://dlang.org/phobos/std_array.html#uninitializedArray
http://dlang.org/phobos/std_array.html#.minimallyInitializedArray
September 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#uninitializedArray
> http://dlang.org/phobos/std_array.html#.minimallyInitializedArray

Thanks)