質問通りですが定義部の//ここでエラーのコードでこのようなエラーが出るのですがどうしたらいいのでしょうか?
公式リファレンス: https://cpprefjp.github.io/reference/random/uniform_int_distribution/op_constructor.html
[
エラー C2664 'int std::uniform_int<_Ty>::operator ()<int>(_Engine &,int) const': 引数 1 を 'int' から '_Engine &' へ変換できません
]
cpp
1#ifndef ___MAIN_SCREEN_HPP_ 2#define ___MAIN_SCREEN_HPP_ 3 4#include <compare> 5#include <iostream> 6#include <filesystem> 7#include <random> 8#include <map> 9#include <vector> 10#include <Windows.h> 11#include "stdio.h" 12#include <random> 13 14#include "SoundPlayer.hpp" 15#include "KeyInput.hpp" 16#include "KeyCode.hpp" 17#include "Debug_Log.hpp" 18#include "ScreenBuffer.hpp" 19 20 21/*############################################ 22# メイン画面 23##############################################*/ 24 25class Main_Screen 26{ 27public: 28 29 Main_Screen(); //コンストラクタ 30 ~Main_Screen(); //デストラクタ 31 void Loop(); //ループ 32 void Update(); //計算 33 void GenerateOutput(); //描画 34 void Input(); //キー入力 35 36private: 37 38 /* コンポーネント 関係 */ 39 KeyInput *mInput; //キー入力 40 SoundPlayer *mSound; //音楽再生 41 Debug_Log *mText; //デバッグ用 テキストファイルに書き込む 42 ScreenBuffer *mWindow; //画面描画 43 44 45 /* ファイルパス 関係 */ 46 std::vector<std::string> mPlayList_Name; //プレイリスト ファイル名 47 int mPos_y = 0; //カーソルの位置 48 std::string mPlayPath; //プレイしてるパス 49 std::string mNowPlay_Path; //現在再生中のパス 50 std::string mPlayName; //再生中のファイル名 51 52 53 54 55 56 57 bool EnterKey = false; 58 59 60 // 再生状態 関係 61 62 63////////////////////////////////////////////////////////////////////////////////////////////// 64 // 乱数 65 std::random_device rnd; // 非決定的な乱数生成器を生成 66 std::mt19937 mt; // メルセンヌ・ツイスタの32ビット版、引数は初期シード値 67 std::uniform_int_distribution<int> Rand; 68////////////////////////////////////////////////////////////////////////////////////////////// 69 70 71 // エラー処理 72 bool mNoDirectory = false; // ルートディレクトリがない場合 73 bool mNoFile = false; // 音楽ファイルがない場合 74 75}; 76 77 78 79#endif 80
cpp
1#include <iostream> 2#include <algorithm> 3#include <vector> 4#include <compare> 5#include <filesystem> 6#include <map> 7#include <WINDOWS.h> 8#include "stdio.h" 9#include <random> 10 11 12#include "Main_Screen.hpp" 13#include "SoundPlayer.hpp" 14#include "KeyInput.hpp" 15#include "ScreenBuffer.hpp" 16 17//コンストラクタ 18Main_Screen::Main_Screen() 19{ 20 ///////////////////////////////////////////////////////////////////////////////// 21 mt.seed(rnd()); 22 Rand(0,100);// ここでエラー 23 ///////////////////////////////////////////////////////////////////////////////// 24 25 /* コンポーネント 関係 */ 26 mText = new Debug_Log("Main_Screen.txt"); //デバッグ用 テキスト出力 27 mWindow = new ScreenBuffer(); //画面描画 28 mInput = new KeyInput(); //キー入力 29 mSound = new SoundPlayer(); //サウンド再生 30 31// std::string path = "M"; //ルートパス 32 std::string path = "Music"; //ルートパス 33 try { 34 for (const auto& fp : std::filesystem::directory_iterator::directory_iterator(path)) 35 { 36 // mText->Write("ええええ\n"); 37 mPlayList_Name.push_back(fp.path().string()); 38 39 } 40 41 // ファイルの数が0の場合 42 if (mPlayList_Name.size() == 0) 43 { 44 mNoFile = true; 45 } 46 } 47 catch (std::exception e) 48 { 49 // ディレクトリがない場合は作成して終了 50 51 mText->Write("%s", e.what()); 52 std::filesystem::create_directory(path); 53 mNoDirectory = true; 54 } 55 56 57 58} 59 60
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/12/22 13:49 編集