C++ 从函数返回 (uniform_int_distribution)

VoI*_*oId 5 c++ random

我创建了这个随机类,这样我就可以在需要时在游戏引擎中使用随机数,但是我遇到了函数问题,我想如何返回 R ?(请记住,我一般不熟悉编码)

#pragma once
#include <ctime>
#include <random>

using namespace std;

class Random
{
private:


public:
    Random() { default_random_engine RandomNumber(time(0));};

    int RandomNumber()
    {
        uniform_int_distribution<int> R();
         return = R;
    }

    float RandomFloat()
    {
        uniform_int_distribution<float> R();
    }

    int RandomNumberRange(int Min =0,int Max =0)
    {
        uniform_int_distribution<int> R(Min,Max);
    }

    float RandomFloatRange(float Min = 0, float Max = 0)
    {
        uniform_int_distribution<float> R(Min,Max);
    }}; 
Run Code Online (Sandbox Code Playgroud)

aep*_*aep 1

    int RandomNumber()
    {
        uniform_int_distribution<int> R();
        return = R;
    }
Run Code Online (Sandbox Code Playgroud)

返回类型和上面函数中的类型R不同。R是 类型uniform_int_distribution<int>,而返回类型只是int. 要返回,R()您必须更改函数返回类型。

    uniform_int_distribution<int> RandomNumber()
    {
        uniform_int_distribution<int> R;
        return R;
    }
Run Code Online (Sandbox Code Playgroud)

请注意,它不是return = Rreturn是一个关键字,而不是可以分配的变量。要返回变量只需使用return R;.