Error: constructor Foo.this default constructor for structs only allowed with @disable, no body, and no parameters
Nicholas Wilson via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Mar 7 15:45:24 PST 2016
On Monday, 7 March 2016 at 13:23:58 UTC, Nicholas Wilson wrote:
> struct Fence
> {
> VkFence fence;
> alias fence this;
>
> static struct CreateInfo
> {
> VkFenceCreateInfo ci;
> alias ci this;
> this(
> )
> {
> ci = typeof(ci)(
> cast(typeof(ci.sType))StructureType.eFenceCreateInfo,
> null,
> 0);
> }
> }
> }
>
> I'm not quite sure what this error is saying. Is it that the
> only struct constructor that can have no parameters is @disable
> this(){} ?
>
> If so this is rather annoying as I have to create a new code
> path for the generation of this and 7 other structs. What must
> the code be in this case?
>
> static struct CreateInfo
> {
> VkFenceCreateInfo ci =
> VkFenceCreateInfo(cast(typeof(ci.sType))StructureType.eFenceCreateInfo,null,0);
> alias ci this;
> }
> ?
"Solved" by having a default parameter. Results in a deprecation
but w/e.
More information about the Digitalmars-d-learn
mailing list