質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

3803閲覧

エラー[ error C2672: 'std::construct_at': 一致するオーバーロードされた関数が見つかりませんでした。 ] の解決方法が知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2021/06/30 09:30

編集2021/06/30 10:20

提示コードですが以下のエラーが発生するのですが行数が出ないため場所がわかりません。これはどこの行で発生しているのでしょうか?
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xutility 158
で発生しているらしいのですが見ても原因の箇所がさっぱりわかりません。

参考サイト: https://docs.microsoft.com/ja-jp/cpp/error-messages/compiler-errors-2/compiler-error-c2672?view=msvc-160

エラー[ error C2672: 'std::construct_at': 一致するオーバーロードされた関数が見つかりませんでした。 ]
エラー[ C2783 '_Ty *std::construct_at(_Ty *const ,_Types &&...) noexcept(<expr>)': テンプレート 引数を '<unnamed-symbol>' に対して減少できませんでした ]
エラー[ C2440 '初期化中': '_Ty' から '_Ty' に変換できません。 ]

cpp

1 2// ##################################### シェーダーを読み込む ##################################### 3void FrameWork::Resource::LoadShader(Asset assetName) 4{ 5 6 std::shared_ptr<Shader> data = std::make_shared<Shader>(); 7 8 data->fileData = std::make_shared<GLchar*>(0); 9 10 for (std::vector<Resource_File>::const_iterator itr = resourceFile->begin(); itr != resourceFile->end(); itr++) 11 { 12 if (itr->assetName == assetName) 13 { 14 15 std::ifstream file(itr->fileName, std::ios::binary); 16 if (file.fail() == true) 17 { 18 std::cerr << "シェーダーファイルを読み込めません: " << itr->fileName << std::endl; 19 20 file.close(); 21 assert(0); 22 break; 23 } 24 else 25 { 26 27 std::vector<GLchar> buffer(0); 28 file.seekg(0L, std::ios::end); 29 GLsizei length = static_cast<GLsizei>(file.tellg()); 30 buffer.resize(length + 1); 31 file.seekg(0L, std::ios::beg); 32 file.read(buffer.data(), length); 33 buffer.push_back('\0'); 34 *data->fileData = buffer.data(); 35 file.close(); 36 37 shader->push_back(std::make_shared<Shader_Data>(Shader_Data{ data,assetName })); 38 39 } 40 41 file.close(); 42 break; 43 } 44 } 45 46} 47 48

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

cpp

1data->fileData = std::make_shared<GLchar*>(0);

cpp

1data->fileData = std::make_shared<GLchar*>();

にしたら動きました。自己解決です。

投稿2021/06/30 10:50

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

int32_t

2021/07/02 04:28

そもそも、その行が不要に見えます。 Shaderのコンストラクタで空に初期化されるのでは。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問