私はSDLの関数を使用していますが、パラメータの1つはconst GLchar* const*
なので、呼び出すには渡す必要がありますこのようなC-文字列の参照:C++ std :: stringをPointer-to-C-Stringに渡すパラメータ
const char *str = "test";
glShaderSource(... , &str, ...);
しかし、私は私が渡したいstd::string
を持っており、このような何かをやってもエラーを与える:
std::string str = "test";
glShaderSource(... , &str.c_str(), ...);
私はことを知っています新しいconst char*
変数を作成してstd::string
を好きなだけ保存することができますe:
const char *cstr = str.c_str();
しかし、これを回避する方法はありますか?私は新しい変数を作る必要はありません。私はラムダを使ってみましたが、うまくいきませんでした。
おっと、それは嘘です。 –