8

我收到错误消息:

tester.cpp|20|错误:未在此范围内声明“rand”|

我错过了在这里包含一些东西吗?

void tester::volumeset(bool A_B, int i, int v)
{
    if (A_B == true)
    {
        A_volumn[i] = rand(v+1);
    }else{
        B_volumn[i] = rand(v+1);
    }
}
4

5 回答 5

9

random不是标准的 C++ 函数;这是一个POSIX函数,因此在 Windows 上不可用。改用rand或更好地使用新的C++11 随机库

于 2012-11-26T15:59:45.533 回答
7

rand是的一部分cstdlib,请尝试将其包含cstdlib在您的代码中。

#include <cstdlib>

或者

#include <stdlib.h>

于 2017-07-29T20:52:02.573 回答
2

你想用rand(),没有random()。您可以在此处查看如何使用它的一些示例:http ://www.cplusplus.com/reference/cstdlib/rand/

于 2012-11-26T16:00:09.900 回答
0

当我使用 Code::Blocks 编译我的代码时,我不需要#include <cstdlib>使用 DevC++,我只是添加了#include <cstdlib>它,它对我有用。

于 2019-07-11T13:57:23.447 回答
-3

enter code here仅包括#include 或#include 可能不起作用最好使用,例如当我使用rand(100) 时遇到挑战,但当我使用rand()%100 时它工作得很好。尝试并享受它。

for(i=0;i<cust;i++)
{

  rsr[i]=rand(100);
 }

it works when I change it to 
 for(i=0;i<cust;i++)
 {

  rsr[i]=rand()%100;
  }

如果你想让它 1-100 使用下面但 0-99 使用上面

for(i=0;i<cust;i++)
 {

  rsr[i]=rand()%(100+1);
  }

for(i=0;i<cust;i++)
 {

  rsr[i]=rand()%100+1;
  }
于 2018-01-09T17:20:42.483 回答