Bypassing the postblit?
Ritu
ritu at metaprogramming.net
Wed Dec 25 21:06:25 PST 2013
Dear D Experts
I have a situation where I want to pass a D struct object as an
argument to a function. Now in my case, I do not want to invoke
the default D copy constructor for the struct. Is there a way of
doing that? I have tried disabling the postblit and enabling
another constructor via "alias this" (see the code below). But
the compiler does not like that, and I get an error that tells me
that the Bar is not copyable since it has been disabled:
struct Bar {
@disable this(this);
alias _foo this;
Foo _foo;
public this(Foo foo) {
this._foo = foo;
}
}
class Foo {}
void main() {
Bar bar;
Bar baz = bar;
}
Regards
Ritu
More information about the Digitalmars-d
mailing list