我试图编译下面的代码在d返回一个类实例的指针d
void* instantiate(_LV2_Descriptor* descriptor,
double sample_rate, char * bundle_path,
LV2_Feature** features) {
Plugin plugin = new Bleep(sample_rate, features);
return &plugin;
}
,但我得到以下错误
../src/lv2/plugin.d(38): Error: escaping reference to local plugin
什么是创建一个正确的方式类实例并将其作为指针返回?也是以这样的方式,它没有被GC声明。对象删除有另一个回调。
感谢您的精心解答。我将首先尝试普通实例化和GC.addRoot(cast(void *)插件)。 – 2012-04-01 17:42:55