次のように2つのLPCWSTR変数を追加しようとしています
Shader = L"shader.fx"
Path = L"Source/Shaders/"
return Path + Shader
私は千の異なる方法を試しましたが、私の最新のものはこれでした
LPCWSTR ShaderFile = GetShader(L"shader.fx");
....
LPCWSTR GetShader(std::wstring _Shader)
{
std::wstring ShaderPath = static_cast<std::wstring>(SHADER_DIRECTORY) + _Shader;
LPCWSTR Return = ShaderPath.c_str();
return Return;
}
戻り値にブレーク ポイントを設定すると、値は問題ないように見えます。return = Source/Shaders/shader.fx は期待どおりです。しかし、F10 キーを押してオブジェクトに戻ると、ShaderFile 変数は完全にランダムで、アラビア記号のように見えるものの集まりであることがわかりました。
誰かが何をすべきか正しい方向に私を向けることができますか? 私が言ったように、関数は正常に動作しているようですが、F10 キーを押してブレークポイントを介してプロジェクトに戻ると、変数はまったく異なるものに等しくなります。