'random':标识符未找到错误

时间:2012-01-30 18:34:57

标签: c++ visual-studio-2010 random

我正在尝试将为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

代码很长,但我已经包括math.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 个答案:

答案 0 :(得分:6)

SQRT - > sqrt

LOG - > log

COS - > cos

random - &gt; rand(不要忘记# include <stdlib.h>

在main之前写下initstate或做出前瞻声明。

答案 1 :(得分:1)

包含stdlib.h并使用函数rand()。

此外,函数的名称为小写cos,log,sqrt。