c ++ 11 — генерация случайных чисел C ++ с использованием Mersenne Twister

Я пытаюсь генерировать случайные числа в моей программе на C ++. Он работает на моем ноутбуке, который работает под управлением Windows. Однако, когда я пытаюсь скомпилировать свою программу на другом компьютере, я получаю следующие сообщения об ошибках:

error: ‘mt19937_64’ was not declared in this scope
error: expected ‘;’ before ‘randomGenerator’

соответствующий следующий кусок кода:

double** Euler::startSimulation(void) {

mt19937_64 randomGenerator (mySeed);

/* More unshown code below... */

}

Я компилирую свой код из командной строки, используя g ++ с флагом -std = c ++ 0x. Как исправить эту проблему, чтобы мой код мог правильно скомпилироваться и работать на обоих компьютерах.

1

Решение

MT19937 (_64) оба калиброваны в Пространство имен.

Чтобы сделать их доступными, вы должны указать компилятору, где их искать. Используйте либо std::mt19937_64 RdmGeneratorObject(seed); руда дает using namespace std; соответственно, перед открытием объявления функции или main.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]