์˜ค๋ฅ˜๋‚˜๋Š” ๋ถ€๋ถ„์„ ๋‚ด๊ฐ€ ์•ˆ ์ ์–ด๋†”์„œ ๋‹ค์‹œ ๊ธ€ ์“ฐ๋ ค๊ณ , ๋ด ์ค„ ์‚ฌ๋žŒ์ด ์žˆ์„์ง€ ๋ชจ๋ฅด์ง€๋งŒ ์ผ๋‹จ ์˜ฌ๋ ค๋ด„.


์•„๋ž˜๊ฑฐ๋Š” ๋‚ด๊ฐ€ ์ง€๊ธˆ ๋งŒ๋“œ๋Š” ์ฝ”๋“œ์˜ ์›๋ณธ์ž„, ์ฆ‰ ์ด๊ฑธ ๋ฒ ๊ปด๋‹ค๊ฐ€ UFUNCTION ๋‹ฌ์•„์„œ ์–ธ๋ฆฌ์–ผ ํ•จ์ˆ˜๋กœ ์“ธ ์ƒ๊ฐ์ด์—ˆ์Œ.


#includeย <random>
#includeย <ctime>
#includeย <iostream>
#includeย <functional>

usingย namespaceย std;

intย main()
{
ย ย ย ย mt19937ย engine((unsignedย int)time(NULL));ย ย ย ย ย ย ย ย ย ย ย ย  ย  ย  ย  ย //ย MT19937ย ๋‚œ์ˆ˜ย ์—”์ง„
ย ย ย ย uniform_int_distribution<int>ย distribution(0,ย 100);ย ย  ย  ย ย // ์ƒ์„ฑ ๋ฒ”์œ„
ย ย ย ย autoย generatorย =ย bind(distribution,ย engine);

ย  ย  //ย 0~100 ๋ฒ”์œ„์˜ ๋‚œ์ˆ˜ 100๊ฐœ ์ƒ์„ฑํ•˜์—ฌ ์ถœ๋ ฅ

ย ย ย ย forย (intย iย =ย 0;ย iย <ย 100;ย ++i)
ย ย ย ย ย ย ย ย coutย <<ย generator()ย <<ย endl;
}






๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ์•„๋ž˜๊ฐ€ย ๋‚ด๊ฐ€ ์œ„์—๊ฑฐ์—์„œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ถ™์˜€๋‹ค ๋บ๋‹ค ํ•œ ์—๋Ÿฌ ๋ฉ์–ด๋ฆฌ์ž„

์˜ค๋ฅ˜๋‚œ ํ–‰์€ ์ž˜ ๋ณด์ด๋ผ๊ณ  ๋นจ๊ฐ„ํŽœ์œผ๋กœ ์ฃผ์„ ๋‹ฌ์•„๋†จ์Œ



#include <random>

#include <ctime>

#include <iostream>

#include <functional>

#include "CoreMinimal.h"

#include "Kismet/BlueprintFunctionLibrary.h"



using namespace std;


UCLASS()

class CHARON_API UMersenneTwisterBP : public UBlueprintFunctionLibraryย  ย  ย // ์—๋Ÿฌ C2143 : ๊ธ€์ž๊ฐ€ ๊นจ์ ธ์„œ ์ž˜ ์•ˆ๋ณด์ด๋Š”๋ฐ ';' ๋ž‘ <class-head>๋งŒ ๋ณด์ž„, ์—๋Ÿฌ C4400 : ๊ธ€์ž๊ฐ€ ๊นจ์ ธ์„œ ์•ˆ๋ณด์ž„

{

ย  ย  GENERATED_BODY()ย  ย  ย  ย  ย ย  //์—๋Ÿฌ E007 : ์ด ์„ ์–ธ์—๋Š” ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค ๋˜๋Š” ํ˜•์‹ ์ง€์ •์ž๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์—๋Ÿฌ C4430

public:

ย  ย  UFUNCTION(blueprintcallable, category = "Mersenne Twister")

ย  ย  ย  ย  static int32 MersenneTwister(UPARAM(displayname = "max")int32 max, UPARAM(displayname = "min")int32 min);

ย  ย  static int main()

ย  ย  {

ย  ย  ย  ย ย 

ย  ย  ย  ย  mt19937 engine((unsigned int)time(NULL));ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  // MT19937 ๋‚œ์ˆ˜ ์—”์ง„

ย  ย  ย  ย  uniform_int_distribution<int32> distribution(int32 min, int32 max);ย  ย  ย  ย // ์ƒ์„ฑ ๋ฒ”์œ„

ย  ย  ย  ย  auto generator = bind(distribution, engine);

ย  ย  ย  ย  return generator();ย  ย  ย  ย  ย // ์—๋Ÿฌย E0304 :ย ์ธ์ˆ˜ ๋ชฉ๋ก์ด ์ผ์น˜ํ•˜๋Š” ์˜ค๋ฒ„๋กœ๋“œ๋œ ํ•จ์ˆ˜ "std::_Binder<_Ret, _Fx, _Types...>::operator() [๋Œ€์ƒ _Ret=std::_Unforced, _Fx=std::uniform_int_distribution<int32> (&)(int32 min, int32 max), _Types=<std::mt19937 &>]"์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.


ย  ย  }

}ย  ย  ย  ย  ย  ย ย // ์—๋Ÿฌ E0065 : ';' ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.


๋‚˜๋จธ์ง€๋Š”ย ์—๋Ÿฌ C1004, ์—๋Ÿฌ MSB3075๊ฐ€ ๋‚˜์™”๋Š”๋ฐ ๋‘˜ ๋‹ค ์–ด๋–คํ–‰์— ํ‘œ์‹œํ•ด์•ผ ๋ ์ง€ ๋ชฐ๋ผ์„œ ๊ฑ ๋์— ์”€....