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 に答える