我試圖編譯下面的代碼在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