2015-11-30 42 views
0

有人能告訴我什麼是錯我的代碼(C++):[C++]查找有關分配的指針錯誤(功能)

int main(){ 
unsigned seed = std::chrono::high_resolution_clock::now().time_since_epoch().count(); 
std::subtract_with_carry_engine<unsigned, 24, 10, 24> gen(seed); 
std::tr1::normal_distribution<double> *imDensity; 
imDensity = new std::tr1::normal_distribution<double>(0, 5); 

double p = imDensity(gen) //here is the error 
} 

的錯誤是「明顯的呼叫前面的表達式括號必須有(指針)功能類型「。我必須將隨機生成器傳遞給分配函數,但是我不知道如何在使用指針時執行此操作。

+0

請問錯誤是什麼? –

+0

@RichardGeorge「明顯調用括號之前的表達式必須具有(指針 - )函數類型」 –

回答

1

imDensity是一個指針,但它確實沒有理由,因爲它只是更慢,更容易泄漏內存。但是,如果您必須使用指針,請嘗試使用(*imDensity)(gen)

+0

謝謝,(* imDensity)(gen)正常工作,並且也適合您的建議。 – Lvergergsk