[C ++]查找有关分布指针(函数)的错误

时间:2015-11-30 05:44:58

标签: c++ function pointers random

有人能告诉我我的代码(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
}

错误是“表观调用的括号前面的表达式必须具有(指向 - 指向)函数类型”。我必须将随机生成器传递给分布函数,但是在使用指针时我不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

imDensity是一个指针,但它确实没有理由,因为它只是更慢,更容易泄漏内存。但是如果你必须使用指针,请尝试(*imDensity)(gen)