我正在尝试将为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);
答案 0 :(得分:6)
SQRT
- > sqrt
LOG
- > log
COS
- > cos
random
- > rand
(不要忘记# include <stdlib.h>
)
在main之前写下initstate
或做出前瞻声明。
答案 1 :(得分:1)
包含stdlib.h并使用函数rand()。
此外,函数的名称为小写cos,log,sqrt。