Ich benutze eine Funktion von SDL, und einer der Parameter ist vom Typ const GLchar* const*
, also um es aufzurufen, würde ich übergeben müssen eine Referenz einer C-Zeichenfolge wie folgt:C++ Übergabe von std :: string in Pointer-zu-C-String Parameter
const char *str = "test";
glShaderSource(... , &str, ...);
ich habe jedoch ein std::string
, die ich in übergeben will, und so etwas zu tun gibt einen Fehler:
std::string str = "test";
glShaderSource(... , &str.c_str(), ...);
ich weiß, dass ich kann einfach eine neue const char*
Variable erstellen und die std::string
dazu speichern e dies:
const char *cstr = str.c_str();
Aber gibt es einen Weg um dies? Ich mag es nicht, eine neue Variable zu machen. Ich habe versucht, ein Lambda zu verwenden, aber das hat nicht funktioniert.
Ups, es ist ein Betrogener. –