Итак, я пишу класс, в котором мне нужно генерировать случайные числа, выбранные из равномерного распределения.Поскольку мне нужно часто генерировать случайные числа, я хочу создать объект внутри определения класса.
Вот пример того, что я пытаюсь выполнить."example.h"
class ABC
{
public:
ABC();
/* code goes here */
private:
std::mt19937 mt(std::random_device rd;);
std::uniform_int_distribution<int> dist;
}
"example.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