随机未在范围内声明

时间:2012-11-26 15:57:19

标签: c++ include

我收到错误:

  

tester.cpp | 20 | error:'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);
    }
}

5 个答案:

答案 0 :(得分:6)

random不是标准的C ++函数;它是POSIX函数,因此在Windows上不可用。使用rand代替或更好地使用新的C++11 randomness library

答案 1 :(得分:4)

randcstdlib的一部分,请在您的代码中加入cstdlib

#include <cstdlib>

#include <stdlib.h>

答案 2 :(得分:0)

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

答案 3 :(得分:0)

当我使用Code :: Blocks编译代码时,我不需要#include <cstdlib>,而对于DevC ++,我只需添加#include <cstdlib>就可以了。

答案 4 :(得分:-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;
  }