On 2012-03-31 17:02, "Timo Westkämper" <[email protected]>" wrote:
I am trying to compile the following code in Dvoid* instantiate(_LV2_Descriptor* descriptor, double sample_rate, char * bundle_path, LV2_Feature** features) { Plugin plugin = new Bleep(sample_rate, features); return &plugin; } but I get the following error ../src/lv2/plugin.d(38): Error: escaping reference to local plugin What is the right way to create a class instance and a return it as a pointer? Also in such a way that it is not claimed by GC. There is another callback for object deletion.
Why would you want to return an object as a pointer? All classes are reference types. But if you actually do want to return an object as a pointer you can just cast it to void*.
-- /Jacob Carlborg
