'random': идентификатор не найден, ошибка - PullRequest
1 голос
/ 30 января 2012

Я пытаюсь перенести код, который был написан для UNIX, в Visual Studio, и я получаю следующие ошибки

\random.cpp(29): error C3861: 'initstate': identifier not found
\random.cpp(37): error C3861: 'random': identifier not found
\random.cpp(49): error C3861: 'random': identifier not found
\random.cpp(51): error C3861: 'random': identifier not found
\random.cpp(63): error C3861: 'random': identifier not found
\random.cpp(78): error C3861: 'SQRT': identifier not found
\random.cpp(78): error C3861: 'LOG': identifier not found
\random.cpp(78): error C3861: 'COS': identifier not found
\random.cpp(87): error C3861: 'ABS': identifier not found

Код длинный, но я уже включил математику.h но я все еще получаю эти ошибки.Возможно, эти функции предназначены только для UNIX!Если да, то какие у меня есть варианты?

Вот модифицированный пример моего кода (строки, которые дают мне ошибки);

if( NULL == initstate(2, rngState, 256) )
    do something...

int r = (int)( (rangeEnd - rangeStart) * random() );

double z = SQRT(-2.0 * LOG(x1)) * COS(2.0 * M_PI * x2);

Ответы [ 2 ]

6 голосов
/ 30 января 2012

SQRT -> sqrt

LOG -> log

COS -> cos

random -> rand (не забудьте # include <stdlib.h> для этого)

И напишите initstate перед main или сделайте предварительное объявление.

1 голос
/ 30 января 2012

Включите stdlib.h и используйте функцию rand ().

Также функции имеют имена в нижнем регистре, потому что, log, sqrt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...