free causes exception

Igor via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Jan 26 06:20:29 PST 2016


I have successfully malloc'ed an object but when I go to free it 
in the destructor I get an exception. The destructor simply has

~this() // destructor for Foo
{
     core.stdc.stdlib.free(&this);
}


auto buffer = core.stdc.stdlib.malloc(__traits(classInstanceSize, 
App))[0..__traits(classInstanceSize, App)];
auto app = cast(App)emplace!App(buffer[]);

I tried to retain a ptr to buffer and free that but still no 
good. I also get a depreciation warning that &this is not an 
lvalue. Hopefully I don't have to keep a ptr around to this 
simply to free it and avoid future issues?

So how am I suppose to free an object?




More information about the Digitalmars-d-learn mailing list