gpt4 book ai didi

c++ - 在类定义中声明随机类的对象

转载 作者:太空宇宙 更新时间:2023-11-04 05:13:32 24 4
gpt4 key购买 nike

所以,我正在编写一个类,我需要生成从均匀分布中采样的随机数。由于我需要经常生成随机数,因此我想在类定义中创建一个对象。

这是我想要完成的示例。“示例.h”

class ABC
{
public:
ABC();
/* code goes here */
private:
std::mt19937 mt(std::random_device rd;);
std::uniform_int_distribution<int> dist;
}

“示例.cpp”

ABC::ABC():ABC::dist(0,12)
{
/* ABC class constructor */
}

上面的代码无法编译。谁能帮忙或者指出错误。提前致谢。g++ 编译器生成以下错误。

src/tsim.cpp: In constructor ‘TrafficSim::TrafficSim(bool, float)’:
src/tsim.cpp:5:71: error: expected class-name before ‘(’ token
TrafficSim::TrafficSim(bool render,float time_period):TrafficSim::dist(0,110)
^
src/tsim.cpp:5:71: error: expected ‘{’ before ‘(’ token
src/tsim.cpp: At global scope:
src/tsim.cpp:5:72: error: expected unqualified-id before numeric constant
TrafficSim::TrafficSim(bool render,float time_period):TrafficSim::dist(0,110)
^
src/tsim.cpp:5:72: error: expected ‘)’ before numeric constant

最佳答案

您错误地定义了构造函数。

为了定义成员初始值设定项列表,您需要将其定义为

ABC::ABC() : dist(0, 12)
{
/* ABC class constructor */
}

成员初始值设定项列表直接在函数签名之后工作 : 成员名称(构造函数操作数)如果您想初始化多个成员,只需用逗号分隔它们即可。

关于c++ - 在类定义中声明随机类的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52390973/

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