gpt4 book ai didi

c++ - 从 ‘std::exponential_distribution (*)(double)’ 到 ‘std::exponential_distribution*' 的参数没有已知的转换

转载 作者:行者123 更新时间:2023-11-28 06:00:36 27 4
gpt4 key购买 nike

<分区>

我不太明白这个错误g++向我 throw 。

std::exponential_distribution<double> (*)(double) 之间有什么区别?和 std::exponential_distribution<double>*

第二个显然是指向 std::exponential_distribution 的指针使用模板参数 <double> , 但第一个是什么?

这是导致问题的代码:

首先是函数原型(prototype)

simulation(std::mt19937_64 *mt19937_64_pointer,
std::uniform_real_distribution<double> *uniform_real_dis_p,
std::exponential_distribution<double> *exp_dis_p)
{
...
}

调用这个函数的代码:

std::mt19937_64 *gen_p = nullptr; // <-- this used to be: *&gen_p - hence the problem
// Actually it isn't equal to nullptr - this is set elsewhere in the code

std::uniform_real_distribution<double> uniform_real_dis(0.0, 1.0);
std::exponential_distribution<double> exp_dis(1.0);

simulation s(gen_p, &uniform_real_dis, &exp_dis);

这是一个有点奇怪的错误 - 如果我完全理解它的含义,我相信我可以修复它。均匀分布起作用而指数分布不起作用对我来说确实很奇怪?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com