有人能告诉我我的代码(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 :(得分:1)
imDensity
是一个指针,但它确实没有理由,因为它只是更慢,更容易泄漏内存。但是如果你必须使用指针,请尝试(*imDensity)(gen)